menu
Get started
1. Install
2. Set up an editor
3. Test drive
4. Write your first app
5. Learn more
From another platform?
Flutter for Android devs
Flutter for iOS devs
Flutter for React Native devs
Flutter for web devs
Flutter for Xamarin.Forms devs
Introduction to declarative UI
Dart language overview
open_in_new
Building a web app
Samples & tutorials
Flutter Gallery [running app]
open_in_new
Flutter Gallery [repo]
open_in_new
Sample apps on GitHub
open_in_new
Cookbook
Codelabs
Tutorials
Development
User interface
Introduction to widgets
Building layouts
Layouts in Flutter
Tutorial
Creating adaptive and responsive apps
Building adaptive apps
Understanding constraints
Box constraints
Adding interactivity
Assets and images
Navigation & routing
Navigation in Flutter
Deep linking
URL strategies
Animations
Introduction
Overview
Tutorial
Implicit animations
Hero animations
Staggered animations
Advanced UI
Actions & shortcuts
Keyboard focus
Gestures
Slivers
Splash screens
Widget catalog
Data & backend
State management
Introduction
Think declaratively
Ephemeral vs app state
Simple app state management
Options
Networking & http
JSON and serialization
Firebase
Accessibility & internationalization
Accessibility
Internationalization
Platform integration
Supported platforms
Adding iOS App Clip support
Apple Watch support
C interop
Hosting native Android and iOS views
Writing platform-specific code
Web
Web FAQ
Web renderers
Custom app initialization NEW
Desktop
Overview
Windows development
macOS development
Linux development
Packages & plugins
Using packages
Happy paths project NEW
Happy paths recommendations NEW
Developing packages & plugins
Flutter Favorites program
Background processes
Android plugin upgrade
Package site
open_in_new
Add Flutter to existing app
Introduction
Adding to an Android app
Project setup
Add a single Flutter screen
Add a Flutter Fragment
Add a Flutter View
Plugin setup
Adding to an iOS app
Project setup
Add a single Flutter screen
Debugging & hot reload
Loading sequence and performance
Multiple Flutter instances
Tools & features
Android Studio & IntelliJ
Visual Studio Code
DevTools
Overview
Install from Android Studio & IntelliJ
Install from VS Code
Install from command line
Flutter inspector
Performance view
CPU Profiler view
Memory view
Network view
Debugger
Logging view
App size tool
Release notes
Flutter SDK
Overview
Upgrading
Releases
Breaking changes
Release notes
Flutter and the pubspec file
Hot reload
Flutter Fix
Code formatting
Migration notes
AndroidX migration
Android plugin upgrade
Developing for iOS 14
Xcode migration
Testing & debugging
Debugging tools
Debugging apps programmatically
Using an OEM debugger
Flutter's build modes
Common Flutter errors
Handling errors
Testing
Integration testing
Migrating from flutter_driver
Performance & optimization
Overview
Performance best practices
App size
Deferred components
Rendering performance
Performance profiling
Reduce shader compilation jank
Performance metrics
Performance FAQ
Appendix
Deployment
Obfuscating Dart code
Creating flavors for Flutter
Build and release an Android app
Build and release an iOS app
Build and release a macOS app
Build and release a Linux app
Build and release a Windows app
Build and release a web app
Continuous deployment
Resources
Architectural overview
Books
Compatibility policy
Contributing to Flutter
open_in_new
Creating useful bug reports
Dart resources
Design Documents
FAQ
Casual Games Toolkit NEW
Google Fonts package
open_in_new
Inside Flutter
Official brand assets
open_in_new
Platform adaptations
Videos and online courses
Reference
Who is Dash?
Widget index
API reference
open_in_new
flutter CLI reference
Package site
open_in_new
Multi-Platform
Mobile
Web
Desktop
Embedded
Development
Learn
Flutter Favorites
Packages
Ecosystem
Community
Events
Monetization
Showcase
Docs
What's New
Editor Support
Hot Reload
Profiling
Install Flutter
Dev Tools
Cookbook
Tutorials
Get started
Build apps on six different platforms from a single codebase with Flutter 3. Learn more.
See
What's new in Flutter 3
and
what's new in the docs
The Flutter and Dart teams are hiring.
Learn more
Get started
1. Install
2. Set up an editor
3. Test drive
4. Write your first app
5. Learn more
From another platform?
Flutter for Android devs
Flutter for iOS devs
Flutter for React Native devs
Flutter for web devs
Flutter for Xamarin.Forms devs
Introduction to declarative UI
Dart language overview
open_in_new
Building a web app
Samples & tutorials
Flutter Gallery [running app]
open_in_new
Flutter Gallery [repo]
open_in_new
Sample apps on GitHub
open_in_new
Cookbook
Codelabs
Tutorials
Development
User interface
Introduction to widgets
Building layouts
Layouts in Flutter
Tutorial
Creating adaptive and responsive apps
Building adaptive apps
Understanding constraints
Box constraints
Adding interactivity
Assets and images
Navigation & routing
Navigation in Flutter
Deep linking
URL strategies
Animations
Introduction
Overview
Tutorial
Implicit animations
Hero animations
Staggered animations
Advanced UI
Actions & shortcuts
Keyboard focus
Gestures
Slivers
Splash screens
Widget catalog
Data & backend
State management
Introduction
Think declaratively
Ephemeral vs app state
Simple app state management
Options
Networking & http
JSON and serialization
Firebase
Accessibility & internationalization
Accessibility
Internationalization
Platform integration
Supported platforms
Adding iOS App Clip support
Apple Watch support
C interop
Hosting native Android and iOS views
Writing platform-specific code
Web
Web FAQ
Web renderers
Custom app initialization NEW
Desktop
Overview
Windows development
macOS development
Linux development
Packages & plugins
Using packages
Happy paths project NEW
Happy paths recommendations NEW
Developing packages & plugins
Flutter Favorites program
Background processes
Android plugin upgrade
Package site
open_in_new
Add Flutter to existing app
Introduction
Adding to an Android app
Project setup
Add a single Flutter screen
Add a Flutter Fragment
Add a Flutter View
Plugin setup
Adding to an iOS app
Project setup
Add a single Flutter screen
Debugging & hot reload
Loading sequence and performance
Multiple Flutter instances
Tools & features
Android Studio & IntelliJ
Visual Studio Code
DevTools
Overview
Install from Android Studio & IntelliJ
Install from VS Code
Install from command line
Flutter inspector
Performance view
CPU Profiler view
Memory view
Network view
Debugger
Logging view
App size tool
Release notes
Flutter SDK
Overview
Upgrading
Releases
Breaking changes
Release notes
Flutter and the pubspec file
Hot reload
Flutter Fix
Code formatting
Migration notes
AndroidX migration
Android plugin upgrade
Developing for iOS 14
Xcode migration
Testing & debugging
Debugging tools
Debugging apps programmatically
Using an OEM debugger
Flutter's build modes
Common Flutter errors
Handling errors
Testing
Integration testing
Migrating from flutter_driver
Performance & optimization
Overview
Performance best practices
App size
Deferred components
Rendering performance
Performance profiling
Reduce shader compilation jank
Performance metrics
Performance FAQ
Appendix
Deployment
Obfuscating Dart code
Creating flavors for Flutter
Build and release an Android app
Build and release an iOS app
Build and release a macOS app
Build and release a Linux app
Build and release a Windows app
Build and release a web app
Continuous deployment
Resources
Architectural overview
Books
Compatibility policy
Contributing to Flutter
open_in_new
Creating useful bug reports
Dart resources
Design Documents
FAQ
Casual Games Toolkit NEW
Google Fonts package
open_in_new
Inside Flutter
Official brand assets
open_in_new
Platform adaptations
Videos and online courses
Reference
Who is Dash?
Widget index
API reference
open_in_new
flutter CLI reference
Package site
open_in_new
Adding Flutter to iOS
Add Flutter to existing app
Adding Flutter to iOS