我们为你列举了所有可以帮助你学习 Flutter 开发的资源,从初学者开始到高级工程师、从 Codelab、学习视频到开发文档,应有尽有。
本页面内容仍在翻译中,请稍后再回来查看。成为 Flutter 开发者
Whether this is your first time programming, or you're coming from another language, we'll get you started on the right path.
技能更上一层楼
Take your skills to the next level with the format that works best for you – check out videos, high-quality documentation, codelabs, and more.
成长为 Flutter 专家
Learn new things about Flutter, continue to expand your skills, and stay up to date on the latest announcements and breaking changes.
初级开发者
Never touched Flutter or Dart before? We've got you covered. This journey will take you from "What's a Widget?" to "I just built my first app!"
中级开发者
This journey will take you from "I just built my first app" to "I'm ready to help other devs!"
高级开发者
Go from "I'm able to help others" to "I know the SDK inside and out, and can lead a team building, publishing, and maintaining a first class application."
Let's get started!
- Try playing with DartPad, the online editor for Flutter and Dart
- Use the installation guides to help get your environment ready
While you're installing...
- Get to know the Flutter docs
- Visit the samples gallery
- Get a feel for Dart code
- Subscribe to the Flutter and Dart blogs
- Check out StackOverflow's Flutter tag
- Go subscribe to the YouTube channel
-
- ...and watch Widget of the Week until your IDE is ready!
Coming from another SDK or language?
Everything's a widget!
- Read the Introduction to Widgets
- This guide explains how to compose layouts with widgets
Learn about Dart
- Visit Dart.dev the official site for Dart
- Learn why Flutter uses Dart
- Complete the Dart cheatsheet codelab
Making your app look cool
- One option is Material design
-
- Check out their components!
- And these Material codelabs!
- Need inspiration?
-
- Try Johannes Milke's videos
- Or Super-Declarative's widget workshops
- Or a community-maintained index like Awesome Flutter!
Find out how to make networking work!
- Have you seen the Flutter Cookbook? It has a set of articles on networking
- Many apps use the http package
- Learn about how to deserialize JSON
-
- There's also a sample!
Navigate with confidence
- The Flutter cookbook has a set of articles for that, too!
- By the way, you may see some stuff about Flutter's Router and more advanced navigation. They're great, but totally not required!
Flutter and State Management
- Watch an I/O talk on what "state management" means for Flutter
- You'd be surprised how far you can get with just a StatefulWidget!
- A good next step is to try Provider with ChangeNotifier
-
- Watch this Boring Show episode
- Or these samples: provider_counter, provider_shopper
Use plugins to access native APIs
- Read the guide on using packages and plugins
- Watch Matt and Andrew use the barometer on the Boring Show
- Check out pub.dev, the package ecosystem for Dart and Flutter
-
- Learn about package scores
- ...and the Flutter Favorites
Test your code!
- Read the guide to testing in Flutter
- Read through the testing sample, which shows multiple types of tests
- Practice your skills with the Testing codelab!
Join the community!
- Check out the community directory
- Join the Flutter Community Slack and check out their blog
- Follow the Flutteristas on Twitter!
- Find a Flutter meetup near you
- Submit your app to itsallwidgets.com
- Participate in the making of Flutter by filing issues and giving feedback
Let's pause for a moment
- ...and go inside Flutter
- ...and learn about Flutter's architecture
- ...and study Flutter's philosophy toward platform adaptations
What's beneath the widget?
- Learn about elements, keys, and state objects in Widgets 101
- Watch a tech talk on the Flutter framework from China, Europe, or Columbus, Ohio
Futures and Streams
- Watch the Dart Async episodes of Flutter in Focus
- Complete the asynchronous programming codelab
Spice up your UI with implicit animations
- Read the Introduction to Animation guide
- Watch a Flutter in Focus on implicit animations
- Try the implicit animation codelab
What about assets?
- Need fonts on the fly? Use the google_fonts package
- Read the guide to including assets directly in your app
Learn more about layouts
- Read the guides on layouts, constraints, and building responsive apps
- Try the Layout Basics codelab
- Watch MediaQuery's Widget of the Week episode
Forms and Validation
- Read some cookbook articles on input, validation, and forms
- Check out the sample app
Firebase
- Watch the Getting Started Firecast
-
- Don't forget to subscribe to the channel while you're there!
- Read the FlutterFire docs
- Try the Firebase for Flutter codelab or the Firestore + Maps sample app
- Learn how to structure your data with Cloud Firestore
Dive into plugins and native APIs
- Read the guide to how Platform Channels work
- Try a codelab on building your own plugin
- Read through the platform channels sample app
Local data
- Watch a tech talk on managing local data
- Watch a tech talk on state restoration by Simon Lightfoot or one by Pawan Kumar
- Read a few Flutter Cookbook articles on persistence
Learn how to prep an app for release
Check out Flutter DevTools
- Read the overview
- Learn how to use the inspector to check out your widgets and diagnose layout issues
- Read guides on tools for performance, CPU and memory profiling, and inspecting app size
Give back to the community
- Join the community!
-
- Volunteer at a Flutter meetup
- Answer some questions on StackOverflow
- Create an open source app on GitHub and post it at itsallwidgets.com
- Flutter relies on you!
-
- Upvote an issue in flutter/flutter that's important to you
- Contribute to a community-maintained plugin or package
Learn a little Flutter history
- Eric Seidel's Strange Loop talk or his DartConf talk (from when Flutter was still called "Sky!";).
- Ian Hickson's talk about why widgets exist
- Adam Barth's talk on Flutter's rendering pipeline
- Read the Flutter roadmap to learn where Flutter is headed
- Check out the Dart language funnel to see where Dart is headed
Explicit animations
- Try running the animation sample app
- Read the guides for hero widgets and staggered animations
- Watch the advanced episodes of the Flutter in Focus series on animation.
- Check out talks from Flutter Europe on Doing Animations Right and Implementing Complex UI
Advanced Layout/Rendering
- Read some Flutter Community blog posts on CustomPainter
- Read Romain's blog post on building your own render object
Targeting iOS
- Visit the Cupertino widget gallery
- See the Cupertino package in action in the VeggieSeasons sample app
- Watch Building for iOS with Flutter from Google I/O
Do some desktop development
- Check out the guide
- Try the desktop codelab
Bind to native libraries
- Read about using dart:ffi to connect to C-style libraries in Dart and Flutter apps, then check out the sample apps
- Read about Dart's JS interop for web apps
Federated plugins
- Read the guide on Flutter's federated plugins
- Check out the sample
Try adding Flutter to an existing app
- Read the overview and the sections for Android and iOS
- Play with the add-to-app samples
- Experiment with generating add-to-app code using package:pigeon
Apps in production
- Read how to log errors and exceptions with Crashlytics from Firebase
- Learn about product flavors and Flutter
- Learn about continuous delivery options for Flutter
Give back to the community
- Create or run a Flutter Meetup
- Read about how to contribute to the Flutter SDK
- Contribute to an important community-maintained plugin or package
- Read about becoming a Google Developer Expert in Flutter
Docs
Dig into the
Flutter docs
What's new in docs
Check out new additions to docs, including breaking changes, Flutter announcements, and new blogs.
Explore what's newTransition docs
Coming from another platform? Check out our guides for devs coming from Android, iOS, React Native, web, and more.
Get startedCodelabs
Access interactive examples to learn important Flutter concepts, including how to build your first Flutter app and integrating Firebase.
Try a codelabCookbook
Try our recipes for building functionality, implementing beautiful designs, and solving common problems in Flutter applications.
Try a cookbook recipeThird Party Courses
Take a Flutter course
Flutter & Dart - The Complete Guide [2021 Edition]
A Complete Guide to the Flutter SDK & Flutter Framework
Visit site