Svoboda
|
Graniru
|
BBC Russia
|
Golosameriki
|
Facebook
BBC Russian
Manage keyboard focus
Assets & media
Add assets and images
Display images from the internet
Fade in images with a placeholder
Play and pause a video
Navigation & routing
Overview
Add tabs to your app
Navigate to a new screen and back
Send data to a new screen
Return data from a screen
Add a drawer to a screen
Setup deep linking
Setup app links for Android
Setup universal links for iOS
Configure web URL strategies
Animations & transitions
Introduction
Tutorial
Implicit animations
Animate the properties of a container
Fade a widget in and out
Hero animations
Animate a page route transition
Animate using a physic simulation
Staggered animations
Create a staggered menu animation
API overview
Accessibility & internationalization
Accessibility
Internationalization
Beyond UI
Data & backend
State management
Introduction
Think declaratively
Ephemeral vs app state
Simple app state management
Options
Networking & http
Overview
Fetch data from the internet
Make authenticated requests
Send data to the internet
Update data over the internet
Delete data on the internet
Communicate with WebSockets
Serialization
JSON serialization
Parse JSON in the background
Persistence
Store key-value data on disk
Read and write files
Persist data with SQLite
Firebase
Overview
Add Firebase to your Flutter app
Google APIs
Platform integration
Supported platforms
Build desktop apps with Flutter
Write platform-specific code
Automatic platform adaptations
Android
Add Android as build target
Add a splash screen
Bind to native code
Host a native Android view
Restore state on Android
Target ChromeOS with Android
iOS
Add iOS as build target
Leverage Apple's system libraries
Add a launch screen
Add iOS App Clip support
Add iOS app extensions
Bind to native code
Host a native iOS view
Enable debugging on iOS
Restore state on iOS
Linux
Add Linux as build target
Build a Linux app
macOS
Add macOS as build target
Build a macOS app
C interop
Web
Add web as build target
Build a web app
Web FAQ
Web renderers
Custom app initialization
Display images on the web
Windows
Add Windows as build target
Build a Windows app
Packages & plugins
Use packages & plugins
Develop packages & plugins
Flutter Favorites
Package repository
Testing & debugging
Testing
Overview
Unit testing
Introduction
Mock dependencies
Widget testing
Introduction
Find widgets
Simulate scrolling
Simulate user interaction
Integration testing
Introduction
Write and run an integration test
Profile an integration test
Test a plugin
Handle plugin code in tests
Debugging
Debugging tools
Debug your app programmatically
Use a native language debugger
Flutter's build modes
Common Flutter errors
Handle errors
Report errors to a service
Performance & optimization
Overview
Impeller
Performance best practices
App size
Deferred components
Rendering performance
Performance profiling
Performance profiling for web
Shader compilation jank
Performance metrics
Concurrency and isolates
Performance FAQ
Appendix
Deployment
Obfuscate Dart code
Create flavors of an app
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
Set up continuous deployment
Add to an existing app
Introduction
Add to an Android app
Set up Android project
Add a single Flutter screen
Add a Flutter Fragment
Add a Flutter View
Use a Flutter plugin
Add to an iOS app
Set up iOS project
Add a single Flutter screen
Debug embedded Flutter module
Add multiple Flutter instances
Loading sequence and performance
Tools & editors
Android Studio & IntelliJ
Visual Studio Code
DevTools
Overview
Run from Android Studio & IntelliJ
Run from VS Code
Run from command line
Flutter inspector
Performance view
CPU Profiler view
Memory view
Debug console view
Network view
Debugger
Logging view
App size tool
DevTools extensions
Release notes
SDK overview
Flutter's pubspec options
Automated fixes
Code formatting
Flutter concepts
Architectural overview
Inside Flutter
Understanding constraints
Flutter's build modes
Hot reload
Resources
Learning
FAQ
Books
Videos
Courses
Learn Dart
Contributing
Create useful bug reports
Contribute to Flutter
Design documents
Reference
Who is Dash?
Widget index
API reference
flutter CLI reference
Multi-Platform
Mobile
Web
Desktop
Embedded
Development
Learn
Flutter Favorites
Packages
Monetization
Games
News
Ecosystem
Community
Events
Culture
Showcase
Docs
What's new
Editor support
Hot reload
Profiling
Install Flutter
DevTools
Cookbook
Codelabs
Get started
Flutter and Dart's latest releases are helping to define the future of app development.
Read the blog
to learn more.
Get started
Install Flutter
Test drive
Write your first app
Learn more
From another platform?
Flutter for Android devs
Flutter for SwiftUI devs
Flutter for UIKit devs
Flutter for React Native devs
Flutter for web devs
Flutter for Xamarin.Forms devs
Introduction to declarative UI
Flutter versus Swift concurrency
Dart language overview
Stay up to date
Upgrade
SDK archive
What's new
Release notes
Breaking changes
Compatibility policy
Codelabs & samples
Codelabs
Cookbook
Samples and demos
App solutions
Firebase & Firestore
Overview
Discover Firebase for Flutter
Get to know Firebase for Flutter
Add a user authentication flow to a Flutter app using FirebaseUI
Get to know Firebase for web
Games
Overview
Add achievements and leaderboards
Build leaderboards with Firestore
Add advertising
Add multiplayer support
Add in-app purchases
Add user authentication
Debug using Crashlytics
Intro to Flame with Flutter
Monetization
Overview
Add in-app purchases
Add advertising
Add AdMob Ads to your Flutter app
Add an AdMob banner and native inline ads to a Flutter app
Maps
Add maps to your app
Add Google maps to a Flutter app
News
Build a news app
User interface
Introduction
Widget catalog
Layout
Introduction
Build a layout
Lists & grids
Create and use lists
Create a horizontal list
Create a grid view
Create lists with different types of items
Create lists with spaced items
Work with long lists
Scrolling
Overview
Use slivers to achieve fancy scrolling
Place a floating app bar above a list
Create a scrolling parallax effect
Adaptive design
Adaptive and responsive app design
Build an adaptive app
Update app UI based on orientation
Design & theming
Share styles with themes
Material design
Migrate to Material 3
Text
Fonts & typography
Use a custom font
Export fonts from a package
Google Fonts package
Custom graphics
Use custom fragment shaders
Interactivity
Add interactivity to your app
Gestures
Introduction
Handle taps
Drag an object outside an app
Drag a UI element within an app
Add Material touch ripples
Implement swipe to dismiss
Input & forms
Create and style a text field
Retrieve the value of a text field
Handle changes to a text field
Manage focus in text fields
Build a form with validation
Display a snackbar
Implement actions & shortcuts
Manage keyboard focus
Assets & media
Add assets and images
Display images from the internet
Fade in images with a placeholder
Play and pause a video
Navigation & routing
Overview
Add tabs to your app
Navigate to a new screen and back
Send data to a new screen
Return data from a screen
Add a drawer to a screen
Setup deep linking
Setup app links for Android
Setup universal links for iOS
Configure web URL strategies
Animations & transitions
Introduction
Tutorial
Implicit animations
Animate the properties of a container
Fade a widget in and out
Hero animations
Animate a page route transition
Animate using a physic simulation
Staggered animations
Create a staggered menu animation
API overview
Accessibility & internationalization
Accessibility
Internationalization
Beyond UI
Data & backend
State management
Introduction
Think declaratively
Ephemeral vs app state
Simple app state management
Options
Networking & http
Overview
Fetch data from the internet
Make authenticated requests
Send data to the internet
Update data over the internet
Delete data on the internet
Communicate with WebSockets
Serialization
JSON serialization
Parse JSON in the background
Persistence
Store key-value data on disk
Read and write files
Persist data with SQLite
Firebase
Overview
Add Firebase to your Flutter app
Google APIs
Platform integration
Supported platforms
Build desktop apps with Flutter
Write platform-specific code
Automatic platform adaptations
Android
Add Android as build target
Add a splash screen
Bind to native code
Host a native Android view
Restore state on Android
Target ChromeOS with Android
iOS
Add iOS as build target
Leverage Apple's system libraries
Add a launch screen
Add iOS App Clip support
Add iOS app extensions
Bind to native code
Host a native iOS view
Enable debugging on iOS
Restore state on iOS
Linux
Add Linux as build target
Build a Linux app
macOS
Add macOS as build target
Build a macOS app
C interop
Web
Add web as build target
Build a web app
Web FAQ
Web renderers
Custom app initialization
Display images on the web
Windows
Add Windows as build target
Build a Windows app
Packages & plugins
Use packages & plugins
Develop packages & plugins
Flutter Favorites
Package repository
Testing & debugging
Testing
Overview
Unit testing
Introduction
Mock dependencies
Widget testing
Introduction
Find widgets
Simulate scrolling
Simulate user interaction
Integration testing
Introduction
Write and run an integration test
Profile an integration test
Test a plugin
Handle plugin code in tests
Debugging
Debugging tools
Debug your app programmatically
Use a native language debugger
Flutter's build modes
Common Flutter errors
Handle errors
Report errors to a service
Performance & optimization
Overview
Impeller
Performance best practices
App size
Deferred components
Rendering performance
Performance profiling
Performance profiling for web
Shader compilation jank
Performance metrics
Concurrency and isolates
Performance FAQ
Appendix
Deployment
Obfuscate Dart code
Create flavors of an app
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
Set up continuous deployment
Add to an existing app
Introduction
Add to an Android app
Set up Android project
Add a single Flutter screen
Add a Flutter Fragment
Add a Flutter View
Use a Flutter plugin
Add to an iOS app
Set up iOS project
Add a single Flutter screen
Debug embedded Flutter module
Add multiple Flutter instances
Loading sequence and performance
Tools & editors
Android Studio & IntelliJ
Visual Studio Code
DevTools
Overview
Run from Android Studio & IntelliJ
Run from VS Code
Run from command line
Flutter inspector
Performance view
CPU Profiler view
Memory view
Debug console view
Network view
Debugger
Logging view
App size tool
DevTools extensions
Release notes
SDK overview
Flutter's pubspec options
Automated fixes
Code formatting
Flutter concepts
Architectural overview
Inside Flutter
Understanding constraints
Flutter's build modes
Hot reload
Resources
Learning
FAQ
Books
Videos
Courses
Learn Dart
Contributing
Create useful bug reports
Contribute to Flutter
Design documents
Reference
Who is Dash?
Widget index
API reference
flutter CLI reference
description
bug_report
Choose your development platform to get started
Get started
Install
Windows
macOS
Linux
ChromeOS