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
C and C++ interop
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
Timeline view
Memory view
Performance view
Debugger
Logging view
Flutter SDK
Upgrading
Releases
Breaking changes
Release notes
Hot reload
Code formatting
Migration notes
AndroidX migration
Android plugin upgrade
Xcode 11.4 support
Testing & debugging
Debugging tools
Debugging apps programmatically
Using an OEM debugger
Flutter's build modes
Handling errors
Testing
Performance & optimization
Overview
App size
Rendering performance
Overview
Performance best practices
Performance profiling
Deployment
Obfuscating Dart code
Creating flavors for Flutter
Build and release an Android app
Build and release an iOS app
Build and release a web app
Continuous deployment
Resources
Dart resources
Compatibility policy
Inside Flutter
Google Fonts package
Platform adaptations
Technical overview
Technical videos
Books
FAQ
Design Documents
Reference
Widget index
API reference
Package site
Showcase
Community
Get started
Flutter 1.17 is live! Read the
blog post
and see
what's new
on the website!
Help improve Flutter! Take our
Q2 survey
.
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
C and C++ interop
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
Timeline view
Memory view
Performance view
Debugger
Logging view
Flutter SDK
Upgrading
Releases
Breaking changes
Release notes
Hot reload
Code formatting
Migration notes
AndroidX migration
Android plugin upgrade
Xcode 11.4 support
Testing & debugging
Debugging tools
Debugging apps programmatically
Using an OEM debugger
Flutter's build modes
Handling errors
Testing
Performance & optimization
Overview
App size
Rendering performance
Overview
Performance best practices
Performance profiling
Deployment
Obfuscating Dart code
Creating flavors for Flutter
Build and release an Android app
Build and release an iOS app
Build and release a web app
Continuous deployment
Resources
Dart resources
Compatibility policy
Inside Flutter
Google Fonts package
Platform adaptations
Technical overview
Technical videos
Books
FAQ
Design Documents
Reference
Widget index
API reference
Package site
Development
Docs
Development
Topics:
User interface
Data & backend
Accessibility & internationalization
Platform integration
Packages & plugins
Add Flutter to existing app
Tools & techniques
Migration notes