
通过 Codelabs、YouTube 视频、详细文档等,找到您开始使用 Flutter 或继续学习旅程所需的一切。
成为 Flutter 开发者
无论您是首次编程,还是从其他语言转来,我们都会引导您走上正确的道路。

将您的技能提升到新水平
以最适合您的方式将您的技能提升到新水平——查看视频、高质量文档、Codelabs 等。

扩展您的 Flutter 知识
了解有关 Flutter 的新知识,继续扩展您的技能,并及时了解最新公告和重大更改。


初学者
以前从未使用过 Flutter 或 Dart?我们为您提供支持。这段旅程将带您从“什么是 Widget?”到“我刚刚构建了我的第一个应用!”

中级
这段旅程将带您从“我刚刚构建了我的第一个应用”到“我已准备好帮助其他开发者!”

高级
从“我能够帮助他人”到“我彻底了解 SDK,并且能够领导团队构建、发布和维护一流应用程序。”
在您安装时...
- 了解 Flutter 文档
- 访问示例库
- 了解 Dart 代码
- 订阅Flutter 和 Dart 博客
- 查看StackOverflow 的 Flutter 标签
- 订阅YouTube 频道
-
- ...然后观看每周 Widget,直到您的 IDE 准备就绪!
来自其他 SDK 或语言?
一切皆是 Widget!
- 阅读Widgets 简介
- 本指南解释了如何使用 Widgets 编写布局
了解 Dart
- 访问 dart.dev,Dart 的官方网站
- 了解Flutter 为何使用 Dart
- 完成Dart 备忘单 Codelab
让您的应用看起来很酷
- 一种选择是Material Design
-
- 查看他们的组件!
- 还有这些Material Codelabs!
- 需要灵感?
-
- 尝试观看 Johannes Milke 的视频
- 或者 Super-Declarative 的 Widget 研讨会
- 或者像Awesome Flutter 这样的社区维护索引!
了解如何进行网络操作!
- 您看过 Flutter 食谱吗?它有一组关于网络的文章
- 许多应用使用 http 包
- 了解如何反序列化 JSON
-
- 还有一个示例!
自信导航
- Flutter 食谱也有一组关于导航的文章!
- 顺便说一下,您可能会看到一些关于 Flutter 的 Router 和更高级导航的内容。它们很棒,但完全不是必需的!
Flutter 和状态管理
- 观看关于 Flutter 的“状态管理”含义的 I/O 讲座
- 您会惊讶于仅使用 StatefulWidget 就能走多远!
- 下一步是尝试 Provider 和 ChangeNotifier
使用插件访问原生 API
- 阅读关于使用包和插件的指南
- 观看Matt 和 Andrew 在 Boring Show 中使用气压计
- 查看 pub.dev,Dart 和 Flutter 的包生态系统
-
- 了解包评分
- ...以及 Flutter 精选
测试您的代码!
- 阅读Flutter 测试指南
- 通读测试示例,其中展示了多种测试类型
- 通过测试 Codelab 练习您的技能!
加入社区!
- 查看社区目录
- 加入Flutter 社区 Slack 并查看他们的博客
- 在 Twitter 上关注 Flutteristas!
- 在您附近找到一个Flutter 聚会
- 将您的应用提交到itsallwidgets.com
- 通过提交问题和提供反馈参与 Flutter 的开发
让我们暂停一下
- ...然后深入Flutter 内部
- ...并了解Flutter 的架构
- ...并研究 Flutter 在平台适配方面的理念
Widget 下面是什么?
- 在Widgets 101 中了解元素、键和状态对象
- 观看来自中国、欧洲或俄亥俄州哥伦布市的 Flutter 框架技术讲座
Future 和 Stream
- 观看 Flutter in Focus 的Dart 异步剧集
- 完成异步编程 Codelab
通过隐式动画为您的 UI 增添趣味
那资产呢?
- 需要即时字体?使用google_fonts 包
- 阅读直接在您的应用中包含资产的指南
了解更多关于布局的信息
- 阅读有关布局、约束和构建响应式应用的指南
- 尝试布局基础 Codelab
- 观看MediaQuery 的每周 Widget 剧集
表单和验证
- 阅读一些关于输入、验证和表单的食谱文章
- 查看示例应用
Firebase
- 观看入门 Firecast
-
- 别忘了在那里订阅频道!
- 阅读FlutterFire 文档
- 尝试Flutter Firebase Codelab 或 Firestore + Maps 示例应用
- 了解如何使用 Cloud Firestore 构建您的数据
深入研究插件和原生 API
- 阅读有关平台通道工作原理的指南
- 尝试构建您自己的插件的 Codelab
- 通读平台通道示例应用
本地数据
- 观看关于管理本地数据的技术讲座
- 观看 Simon Lightfoot 关于状态恢复的技术讲座或 Pawan Kumar 的技术讲座
- 阅读几篇Flutter 食谱关于持久化的文章
回馈社区
- 加入社区!
-
- 在Flutter 聚会上做志愿者
- 在StackOverflow 上回答一些问题
- 在GitHub 上创建一个开源应用,并将其发布到itsallwidgets.com
- Flutter 依赖您!
-
- 在flutter/flutter 中为您认为重要的问题投赞成票
- 为社区维护的插件或包做出贡献
了解一些 Flutter 历史
- Eric Seidel 的 Strange Loop 讲座 或 他的 DartConf 讲座(当时 Flutter 仍然被称为“Sky!”)。
- Ian Hickson 关于Widget 为何存在的讲座
- Adam Barth 关于Flutter 渲染管道的讲座
- 阅读Flutter 路线图,了解 Flutter 的发展方向
- 查看Dart 语言漏斗,了解 Dart 的发展方向
显式动画
高级布局/渲染
- 阅读一些 Flutter 社区关于 CustomPainter 的博客文章
- 阅读 Romain 关于构建您自己的渲染对象的博客文章
针对 iOS
- 访问Cupertino Widget 库
- 在VeggieSeasons 示例应用中查看 Cupertino 包的实际应用
- 观看 Google I/O 上使用 Flutter 为 iOS 构建的视频
进行一些桌面开发
- 查看指南
- 尝试桌面 Codelab
绑定到原生库
- 阅读有关在 Dart 和 Flutter 应用中使用 dart:ffi 连接到 C 风格库的信息,然后查看示例应用
- 阅读有关Dart 用于 Web 应用的 JS 互操作的信息
联合插件
- 阅读关于Flutter 联合插件的指南
- 查看示例
尝试将 Flutter 添加到现有应用
- 阅读概述以及 Android 和 iOS 部分
- 使用添加到应用示例进行练习
- 尝试使用 package:pigeon 生成添加到应用代码
回馈社区
- 创建或运行Flutter 聚会
- 阅读如何为 Flutter SDK 做出贡献
- 为重要的社区维护插件或包做出贡献
- 阅读成为 Flutter Google 开发者专家
文档
深入了解
Flutter 文档



