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
Sample apps on GitHub
Cookbook
Codelabs
Tutorials
Development
User interface
Introduction to widgets
Building layouts
Layouts in Flutter
Tutorial
Creating responsive apps
Box constraints
Adding interactivity
Assets and images
Navigation & routing
Animations
Introduction
Overview
Tutorial
Hero animations
Staggered animations
Advanced UI
Slivers
Gestures
Widget catalog
Data & backend
State management
Introduction
Think declaratively
Ephemeral vs app state
Simple app state management
Options
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
Background processes
Package site
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
Hot reload
Code formatting
AndroidX migration
Testing & optimization
Debugging
Debugging apps programmatically
Using an OEM debugger
Flutter's build modes
Testing
Performance best practices
Performance profiling
Deployment
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
Inside Flutter
Platform adaptations
Technical overview
Technical videos
FAQ
Reference
Widget index
API reference
Package site
Showcase
Community
Get started
Flutter 1.9 is live! See what's new in
Flutter news from GDD China
.
Also see:
What's new on this site
and the revamped
Showcase
page.
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
Sample apps on GitHub
Cookbook
Codelabs
Tutorials
Development
User interface
Introduction to widgets
Building layouts
Layouts in Flutter
Tutorial
Creating responsive apps
Box constraints
Adding interactivity
Assets and images
Navigation & routing
Animations
Introduction
Overview
Tutorial
Hero animations
Staggered animations
Advanced UI
Slivers
Gestures
Widget catalog
Data & backend
State management
Introduction
Think declaratively
Ephemeral vs app state
Simple app state management
Options
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
Background processes
Package site
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
Hot reload
Code formatting
AndroidX migration
Testing & optimization
Debugging
Debugging apps programmatically
Using an OEM debugger
Flutter's build modes
Testing
Performance best practices
Performance profiling
Deployment
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
Inside Flutter
Platform adaptations
Technical overview
Technical videos
FAQ
Reference
Widget index
API reference
Package site
Unit
Docs
Cookbook
Testing
Unit
An introduction to unit testing
Mock dependencies using Mockito