menu
Docs
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
Building a web app
Samples & tutorials
Flutter Gallery [running app]
Flutter Gallery [repo]
Sample apps on GitHub
Cookbook
Codelabs
Tutorials
Development
User interface
Introduction to widgets
Building layouts
Layouts in Flutter
Tutorial
Creating responsive apps
Understanding constraints [NEW]
Box constraints
Adding interactivity
Assets and images
Navigation & routing
Animations
Introduction
Overview
Tutorial
Implicit animations
Hero animations
Staggered animations
Advanced UI
Slivers
Gestures
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
Web FAQ
Writing platform-specific code
Packages & plugins
Using packages
Developing packages & plugins
Flutter Favorites program
Background processes
Android plugin upgrade
Package site
Add Flutter to existing app
Introduction
Adding to an Android app
Project setup
Add a single Flutter screen
Add a Flutter Fragment
Plugin setup
Adding to an iOS app
Project setup
Add a single Flutter screen
Debugging & hot reload
Loading sequence and performance
Tools & techniques
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
App size tool
Flutter SDK
Overview
Upgrading
Releases
Breaking changes
Release notes
Hot reload
Code formatting
Web renderers
Migration notes
AndroidX migration
Android plugin upgrade
Developing for iOS 14
Xcode 11.4 support
Testing & debugging
Debugging tools
Debugging apps programmatically
Using an OEM debugger
Flutter's build modes
Common Flutter errors
Handling errors
Testing
Integration testing
Performance & optimization
Overview
App size
Rendering performance
Overview
Performance best practices
Performance profiling
Reduce shader compilation jank
Deployment
Obfuscating Dart code
Creating flavors for Flutter
Build and release an Android app
Build and release an iOS app
Build and release a Linux app
Build and release a web app
Continuous deployment
Resources
Dart resources
Compatibility policy
Architectural overview
Inside Flutter
Google Fonts package
Platform adaptations
Technical videos
Books
FAQ
Design Documents
Creating useful bug reports
Contributing to Flutter
Official brand assets
Reference
Widget index
API reference
flutter CLI reference
Package site
Showcase
Community
Get started
Migrate your packages to null safety!
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
Building a web app
Samples & tutorials
Flutter Gallery [running app]
Flutter Gallery [repo]
Sample apps on GitHub
Cookbook
Codelabs
Tutorials
Development
User interface
Introduction to widgets
Building layouts
Layouts in Flutter
Tutorial
Creating responsive apps
Understanding constraints [NEW]
Box constraints
Adding interactivity
Assets and images
Navigation & routing
Animations
Introduction
Overview
Tutorial
Implicit animations
Hero animations
Staggered animations
Advanced UI
Slivers
Gestures
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
Web FAQ
Writing platform-specific code
Packages & plugins
Using packages
Developing packages & plugins
Flutter Favorites program
Background processes
Android plugin upgrade
Package site
Add Flutter to existing app
Introduction
Adding to an Android app
Project setup
Add a single Flutter screen
Add a Flutter Fragment
Plugin setup
Adding to an iOS app
Project setup
Add a single Flutter screen
Debugging & hot reload
Loading sequence and performance
Tools & techniques
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
App size tool
Flutter SDK
Overview
Upgrading
Releases
Breaking changes
Release notes
Hot reload
Code formatting
Web renderers
Migration notes
AndroidX migration
Android plugin upgrade
Developing for iOS 14
Xcode 11.4 support
Testing & debugging
Debugging tools
Debugging apps programmatically
Using an OEM debugger
Flutter's build modes
Common Flutter errors
Handling errors
Testing
Integration testing
Performance & optimization
Overview
App size
Rendering performance
Overview
Performance best practices
Performance profiling
Reduce shader compilation jank
Deployment
Obfuscating Dart code
Creating flavors for Flutter
Build and release an Android app
Build and release an iOS app
Build and release a Linux app
Build and release a web app
Continuous deployment
Resources
Dart resources
Compatibility policy
Architectural overview
Inside Flutter
Google Fonts package
Platform adaptations
Technical videos
Books
FAQ
Design Documents
Creating useful bug reports
Contributing to Flutter
Official brand assets
Reference
Widget index
API reference
flutter CLI reference
Package site
State management
Docs
Development
Data & backend
State management
Topics:
Introduction
Think declaratively
Ephemeral vs app state
Simple app state management
Options