menu
开始使用 Flutter
1. 安装和环境配置
2. 编辑工具设定
3. 开发体验初探
4. 编写第一个 Flutter 应用
5. 了解更多
拥有其他平台开发经验?
给 Android 开发者的 Flutter 指南
给 iOS SwiftUI 开发者的 Flutter 指南
给 iOS UIKit 开发者的 Flutter 指南
给 React Native 开发者的 Flutter 指南
给 Web 开发者的 Flutter 指南
给 Xamarin.Forms 开发者的 Flutter 指南
声明式 UI 介绍
Flutter 对比 Swift 的并发
Dart 语言概览
open_in_new
保持版本更新
版本升级
SDK 版本列表
最近更新
版本发行注记
破坏性改动
兼容性策略
教程和样例代码
Flutter Gallery 应用
open_in_new
GitHub 上的样例应用
open_in_new
实用教程 (Cookbook)
Codelabs
应用解决方案
游戏
介绍
添加成就和排行榜
添加广告
添加多人游戏支持
添加应用内购买
open_in_new
添加用户身份验证
open_in_new
使用 Crashlytics 调试
open_in_new
新闻
构建新闻应用程序
盈利
介绍
open_in_new
添加应用内购买
open_in_new
地图
为应用程序添加地图
open_in_new
用户界面
介绍
Widget 目录
布局构建
介绍
布局构建教程
列表 & 网格
构建与使用列表
构建一个横向列表
构建一个网格视图
构建包含不同类型元素的列表
构建元素之间包含间隔的列表
处理长列表
滚动
概览
使用 Slivers 实现各种滚动需求
在列表开头添加一个浮动的顶栏
构建一个平行错位滚动的效果
响应式设计
创建响应式和自适应的应用
构建自适应应用
根据旋转角度更新应用的界面元素
设计 & 主题
共享主题样式
Material 设计
文字
字体 & 版式
使用自定义字体
将字体从 package 中对外暴露
Google 字体 package
open_in_new
自定义图形
使用自定义的着色器
交互
为你的应用添加交互
手势
介绍
处理点击
拖动界面元素
添加 Material 风格的水波纹
实现滑动取消
输入 & 表单
创建输入框并且调整样式
读取输入框的内容
处理输入框的内容变动
管理输入框之间的焦点
构建具有校验功能的表单
展示 SnackBar
实现快捷方式和捷径
管理键盘焦点
资源 & 媒体
添加资源和图片
加载网络图片
从占位图过渡到图片
播放及暂停视频
导航 & 路由
概览
添加 Tab 到应用中
导航至新页面并返回
传递数据到新页面
从新页面返回数据
在页面上添加抽屉
设置 Deeplink
设置 Android Deeplink
设置 iOS Universal Link
设置 Web 的 URL 策略
动画 & 过渡
概览
教程
隐式动画
过渡 Container 的属性
渐入渐出 widget
Hero(跨页面共享元素)动画
页面转场动画
模拟物理特性动画
交错动画
构建菜单的交错动画
API 概览
无障碍 & 国际化
无障碍
国际化
界面以外的开发
数据调用和后端
状态管理
介绍
从声明式的角度思考
短暂状态 & 持久状态
简单的状态管理
状态管理参考
网络 & http
概览
从网络上获取数据
构建需要认证的请求
发送数据到服务器
更新网络上的数据
删除网络上的数据
WebSocket 通信
序列化
JSON 序列化
在后台处理 JSON 解析
持久化
将 key-value 数据存储在硬盘上
读写文件
利用 SQLite 持久化数据
Firebase
Google APIs
平台集成
支持的平台
构建桌面端应用
撰写平台代码 (插件编写实现)
自动化平台适配
Android 平台
添加闪屏页
调用原生代码
托管 Android 原生视图
在 Android 上恢复状态
构建适合 Chrome OS 的 Android 应用
iOS 平台
使用 Apple 的系统库
添加启动页
添加 iOS App Clip 支持
添加 iOS App 扩展
调用原生代码
托管 iOS 原生视图
iOS 平台调试
在 iOS 上恢复状态
Linux 操作系统平台
构建 Linux 桌面软件
macOS 操作系统平台
构建 macOS 应用
C 语言代码集成及调用
Web 平台
构建一个 Web 应用
Web 平台常见问题
Web 平台渲染器
自定义 Web 应用初始化
在网页里显示图片
Windows 操作系统平台
构建 Windows 桌面软件
Package 和插件
使用 package 和插件
开发 Package 和插件
Flutter Favorites 项目
Package 仓库
open_in_new
测试和调试
测试
概览
单元测试
介绍
模拟依赖
Widget 测试
介绍
寻找 widgets
模拟滚动
模拟用户操作
集成测试
介绍
编写并运行集成测试
衡量集成测试的性能指标
测试插件
在测试中处理插件代码
调试
调试工具
通过代码调试应用
使用原生语言的调试
Flutter 的构建模式
常见的 Flutter 错误
处理错误
将错误上报到收集服务
性能优化
概览
使用 Impeller
性能最佳实践
应用大小
延迟加载组件
渲染性能
性能分析
Web 性能分析
着色器编译时卡顿
性能指标
性能常见问题和回答
附录
打包部署
混淆 Dart 代码
配置 flavors
构建和发布为 Android 应用
构建和发布为 iOS 应用
构建和发布为 macOS 应用
构建和发布为 Linux 应用
构建和发布为 Windows 应用
构建和发布为 Web 应用
持续部署
将 Flutter 添加到现有应用
介绍
将 Flutter 添加到现有 Android 应用
工程设定
添加单个 Flutter 页面
添加一个 Flutter Fragment
添加 Flutter 视图
Plugin 初始化
将 Flutter 添加到现有 iOS 应用
工程设定
添加单个 Flutter 页面
调试及热重载
多个 Flutter 实例
加载顺序和性能
工具 & 代码编辑器
Android Studio & IntelliJ
Visual Studio Code
DevTools
概览
在 Android Studio & IntelliJ 中安装 DevTools
在 VS Code 中安装 DevTools
利用终端命令安装 DevTools
Flutter inspector
性能视图
CPU 性能视图
内存视图
调试控制条视图
网络视图
调试工具 Debugger
日志视图
应用体积工具
发布日志
SDK 概览
Flutter pubspec 选项
自动修复
代码格式化
Flutter 相关概念
Flutter 架构概览
Flutter 工作原理
理解布局约束
Flutter 构建模式
热重载
开发者资源列表
学习
常见问题解答
相关书籍
相关视频
相关课程
学习 Dart
贡献
提出 Bug
为 Flutter 做出贡献
open_in_new
设计文档
open_in_new
更多资料
了解 Dash
Flutter Widget 列表
Flutter API 文档
open_in_new
Flutter 命令行文档
多平台
移动平台
Web 平台
桌面平台
嵌入式平台
开发
学习资源
Flutter Favorites 系列插件
使用 Packages
盈利
游戏
新闻
生态
社区
文化
成功故事
关于中文文档
文档
最新更新
IDE 集成
热重载
性能分析
安装 Flutter
开发者工具
Cookbook
Codelabs
社区教程
开始使用
Flutter 3.16 已发布!
开始使用 Flutter
1. 安装和环境配置
2. 编辑工具设定
3. 开发体验初探
4. 编写第一个 Flutter 应用
5. 了解更多
拥有其他平台开发经验?
给 Android 开发者的 Flutter 指南
给 iOS SwiftUI 开发者的 Flutter 指南
给 iOS UIKit 开发者的 Flutter 指南
给 React Native 开发者的 Flutter 指南
给 Web 开发者的 Flutter 指南
给 Xamarin.Forms 开发者的 Flutter 指南
声明式 UI 介绍
Flutter 对比 Swift 的并发
Dart 语言概览
open_in_new
保持版本更新
版本升级
SDK 版本列表
最近更新
版本发行注记
破坏性改动
兼容性策略
教程和样例代码
Flutter Gallery 应用
open_in_new
GitHub 上的样例应用
open_in_new
实用教程 (Cookbook)
Codelabs
应用解决方案
游戏
介绍
添加成就和排行榜
添加广告
添加多人游戏支持
添加应用内购买
open_in_new
添加用户身份验证
open_in_new
使用 Crashlytics 调试
open_in_new
新闻
构建新闻应用程序
盈利
介绍
open_in_new
添加应用内购买
open_in_new
地图
为应用程序添加地图
open_in_new
用户界面
介绍
Widget 目录
布局构建
介绍
布局构建教程
列表 & 网格
构建与使用列表
构建一个横向列表
构建一个网格视图
构建包含不同类型元素的列表
构建元素之间包含间隔的列表
处理长列表
滚动
概览
使用 Slivers 实现各种滚动需求
在列表开头添加一个浮动的顶栏
构建一个平行错位滚动的效果
响应式设计
创建响应式和自适应的应用
构建自适应应用
根据旋转角度更新应用的界面元素
设计 & 主题
共享主题样式
Material 设计
文字
字体 & 版式
使用自定义字体
将字体从 package 中对外暴露
Google 字体 package
open_in_new
自定义图形
使用自定义的着色器
交互
为你的应用添加交互
手势
介绍
处理点击
拖动界面元素
添加 Material 风格的水波纹
实现滑动取消
输入 & 表单
创建输入框并且调整样式
读取输入框的内容
处理输入框的内容变动
管理输入框之间的焦点
构建具有校验功能的表单
展示 SnackBar
实现快捷方式和捷径
管理键盘焦点
资源 & 媒体
添加资源和图片
加载网络图片
从占位图过渡到图片
播放及暂停视频
导航 & 路由
概览
添加 Tab 到应用中
导航至新页面并返回
传递数据到新页面
从新页面返回数据
在页面上添加抽屉
设置 Deeplink
设置 Android Deeplink
设置 iOS Universal Link
设置 Web 的 URL 策略
动画 & 过渡
概览
教程
隐式动画
过渡 Container 的属性
渐入渐出 widget
Hero(跨页面共享元素)动画
页面转场动画
模拟物理特性动画
交错动画
构建菜单的交错动画
API 概览
无障碍 & 国际化
无障碍
国际化
界面以外的开发
数据调用和后端
状态管理
介绍
从声明式的角度思考
短暂状态 & 持久状态
简单的状态管理
状态管理参考
网络 & http
概览
从网络上获取数据
构建需要认证的请求
发送数据到服务器
更新网络上的数据
删除网络上的数据
WebSocket 通信
序列化
JSON 序列化
在后台处理 JSON 解析
持久化
将 key-value 数据存储在硬盘上
读写文件
利用 SQLite 持久化数据
Firebase
Google APIs
平台集成
支持的平台
构建桌面端应用
撰写平台代码 (插件编写实现)
自动化平台适配
Android 平台
添加闪屏页
调用原生代码
托管 Android 原生视图
在 Android 上恢复状态
构建适合 Chrome OS 的 Android 应用
iOS 平台
使用 Apple 的系统库
添加启动页
添加 iOS App Clip 支持
添加 iOS App 扩展
调用原生代码
托管 iOS 原生视图
iOS 平台调试
在 iOS 上恢复状态
Linux 操作系统平台
构建 Linux 桌面软件
macOS 操作系统平台
构建 macOS 应用
C 语言代码集成及调用
Web 平台
构建一个 Web 应用
Web 平台常见问题
Web 平台渲染器
自定义 Web 应用初始化
在网页里显示图片
Windows 操作系统平台
构建 Windows 桌面软件
Package 和插件
使用 package 和插件
开发 Package 和插件
Flutter Favorites 项目
Package 仓库
open_in_new
测试和调试
测试
概览
单元测试
介绍
模拟依赖
Widget 测试
介绍
寻找 widgets
模拟滚动
模拟用户操作
集成测试
介绍
编写并运行集成测试
衡量集成测试的性能指标
测试插件
在测试中处理插件代码
调试
调试工具
通过代码调试应用
使用原生语言的调试
Flutter 的构建模式
常见的 Flutter 错误
处理错误
将错误上报到收集服务
性能优化
概览
使用 Impeller
性能最佳实践
应用大小
延迟加载组件
渲染性能
性能分析
Web 性能分析
着色器编译时卡顿
性能指标
性能常见问题和回答
附录
打包部署
混淆 Dart 代码
配置 flavors
构建和发布为 Android 应用
构建和发布为 iOS 应用
构建和发布为 macOS 应用
构建和发布为 Linux 应用
构建和发布为 Windows 应用
构建和发布为 Web 应用
持续部署
将 Flutter 添加到现有应用
介绍
将 Flutter 添加到现有 Android 应用
工程设定
添加单个 Flutter 页面
添加一个 Flutter Fragment
添加 Flutter 视图
Plugin 初始化
将 Flutter 添加到现有 iOS 应用
工程设定
添加单个 Flutter 页面
调试及热重载
多个 Flutter 实例
加载顺序和性能
工具 & 代码编辑器
Android Studio & IntelliJ
Visual Studio Code
DevTools
概览
在 Android Studio & IntelliJ 中安装 DevTools
在 VS Code 中安装 DevTools
利用终端命令安装 DevTools
Flutter inspector
性能视图
CPU 性能视图
内存视图
调试控制条视图
网络视图
调试工具 Debugger
日志视图
应用体积工具
发布日志
SDK 概览
Flutter pubspec 选项
自动修复
代码格式化
Flutter 相关概念
Flutter 架构概览
Flutter 工作原理
理解布局约束
Flutter 构建模式
热重载
开发者资源列表
学习
常见问题解答
相关书籍
相关视频
相关课程
学习 Dart
贡献
提出 Bug
为 Flutter 做出贡献
open_in_new
设计文档
open_in_new
更多资料
了解 Dash
Flutter Widget 列表
Flutter API 文档
open_in_new
Flutter 命令行文档
description
bug_report
Flutter 起步教程
Flutter 起步教程