Menu
CoddyTech
新学习旅程

学习 Flutter 应用开发

免费的 Flutter 互动课程,从零开始。用 Dart 编写真正的应用,并在编辑器旁的手机屏幕上运行,支持热重载和 AI 提示,每个单元都有证书。

219 节课219 个挑战297 道测验题

  • 适合初学者
  • sparkles iconAI 辅助编程帮助
  • hint icon动手实践的互动课程
  • volume On icon每节课都有语音讲解
  • quiz icon检验所学的测验
  • certificate icon免费结业证书

课程大纲

7 个单元10 个项目219 节课219 个挑战297 道测验题
  1. 开始本单元开始展开收起制作你的第一个 Flutter 应用:了解 Flutter、组件树、文本及其样式、彩色方框、内边距、行和列、图标和图片,以及过程中需要用到的 Dart 知识。最后制作一个名片应用。

    你好,Flutter

    6 节课68

    文本样式

    4 节课45

    Dart 即学即用

    4 节课45

    盒子

    4 节课44

    行和列

    6 节课68

    图标和图片

    5 节课55

    项目:名片

    3 节课33
  2. 开始本单元开始展开收起制作能响应操作的应用:学习按钮、函数和控制台,StatefulWidget 和 setState,const 和 final,使用 if 和布尔值进行判断,文本输入框、开关、复选框和滑块,以及背后的 Dart 知识。最后制作一个小费计算器应用。

    按钮

    5 节课57

    函数

    3 节课35

    带状态的 Widget

    6 节课610

    const 和 final

    2 节课24

    决策

    5 节课58

    文本输入框

    5 节课57

    开关和滑块

    3 节课34

    项目:小费计算器

    5 节课56
  3. 开始本单元开始展开收起制作包含多个屏幕的应用:学习可滚动列表和列表项、卡片和网格,为数据创建自己的 Dart 类,在屏幕之间切换并传递数据,使用标签页、抽屉菜单和滑动删除。最后制作一个食谱应用。

    可滚动列表

    5 节课58

    从数据生成列表

    3 节课34

    卡片与网格

    3 节课33

    创建自己的类

    6 节课611

    多个页面

    5 节课58

    标签页、侧边抽屉与滑动操作

    5 节课58

    项目:食谱簿

    6 节课67
  4. 开始本单元开始展开收起制作适配各种手机的屏幕:学习使用 Expanded、Flexible 和 Spacer 调整行布局,查看并修复溢出错误,使用 Wrap、Stack 和 Positioned,设置 SafeArea 和最大宽度,了解屏幕尺寸和断点,以及枚举、switch、应用主题和深色模式。最后制作一个音乐播放器界面。

    共享一行

    4 节课45

    溢出错误

    5 节课56

    组件堆叠

    4 节课45

    尺寸与断点

    4 节课44

    枚举和 switch

    3 节课33

    主题与深色模式

    5 节课56
  5. 开始本单元开始展开收起在组件和屏幕之间共享数据:学习通过值和回调提升状态,了解模型类所需的 Dart 知识,使用带有 ChangeNotifier 的 Provider,以及使用 ConsumerWidget、StateProvider 和 Notifier 的 Riverpod,并了解何时使用哪种方式。最后制作一个由两个屏幕共享的购物车。

    状态提升

    4 节课48

    用 Dart 建模

    4 节课48

    项目:购物车

    6 节课68
  6. 开始本单元开始展开收起制作需要等待数据的应用:学习 Future、async 和 await,使用 FutureBuilder 显示加载动画,使用 try 和 catch 处理错误,将服务器返回的 JSON 转换为 Dart 类,下拉刷新,以及使用 intl 处理日期和价格。最后制作一个天气应用。

    Future

    4 节课46

    加载界面

    5 节课58

    调用失败时

    5 节课56

    JSON

    5 节课59

    日期与价格

    3 节课33

    项目:天气应用

    5 节课56
  7. 开始本单元开始展开收起运用所学知识,逐步制作 4 个完整应用:待办清单、测验、带购物车的商店,以及带连续打卡记录和深色模式的习惯追踪器。每个项目完成后,都会成为一个精致的应用,可以展示给别人。

    项目:测验

    9 节课99

    项目:商店

    9 节课99
你将获得
学编程所需的一切

在实践中学习

编写真实代码、查询数据库、搭建网站、掌握 AI 提示词。我们的互动课程涵盖现代开发者需要的每一项技能。

playground.js
代码编辑器
1const greeting = "Hello, Coddy!"
2function sayHi(name) {
3    return greeting + " " + name
4}
5
bottombar Collapse icon
测试 #1test Case Success icon
测试 #2test Case Success icon
测试 #3test Case Failure icon
输入
"Alex"
输出
"Hello, Coddy! Alex"

打造你的连胜

坚持下去,看着自己不断进步!记录每天的编程习惯,用冻结天数保护连胜,每天打卡都能赢取奖励。

12 天连胜

明天再来,保持你的连胜!

fire Filled icon
left icon

January 2026

right icon

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

21

22

23

24

25

26

27

28

29

30

product Double Or Nothing icon

加倍或归零

第 5 天,共 7 天

fire Freeze icon

连胜冻结

2 left

你并不孤单

在全球排行榜上一较高下,邀请好友赢取奖励,为彼此的成就喝彩。和好友一起编程更有趣!

挑战者联赛
挑战者联赛前 7 名晋级
leaderboard First icon1
avatar 1 icon
fire Filled icon
Alex7+ Days
2840
leaderboard Second icon2
avatar 2 icon
fire Filled icon
Jordan7+ Days
2650
leaderboard Third icon3
avatar 3 icon
fire Filled icon
Sam7+ Days
2420
4
avatar 4 icon
Casey
2180
5
avatar placeholder icon
fire Filled icon
Morgan7+ Days
1950
leaderboard Arrow Up icon晋级区leaderboard Arrow Up icon

多种学习方式

阅读、收听、自我测验、问 AI,或者查阅学过的任何内容。每节课都配合你的节奏。

变量入门
音频

变量是一个有名字的容器,用来存储值,方便你在程序后面引用。

在 Python 中,创建变量只需写下名字、一个等号,再写上要存储的值。

值可以随时间变化。给这个名字重新赋值,它就会指向新的值。

1xSarah

获得证书

每完成一门课程都能获得证书。把证书添加到你的 LinkedIn 个人资料和简历中,向雇主展示你的编程能力。

Coddy结业证书
兹证明张三已成功完成
python iconPython 基础
已验证
日期2026年1月
LinkedIn添加到 LinkedIn

为什么在 Coddy 上学 Flutter

  • 代码和应用并排显示。点击“运行”,应用会在 Coddy 的服务器上编译,然后由 Flutter Web 引擎在编辑器旁的手机屏幕上打开。“热重载”会显示你的修改并保留应用的状态,“控制台”会显示 print() 的输出和错误。点击“检查”,系统会根据应用在屏幕上显示的内容为这节课评分。
  • 开始前不需要会 Flutter 或 Dart。第一个单元用 Text、彩色方块、内边距、Row 和 Column、图标和图片搭建组件树,最后完成一个名片应用。第二个单元让应用能够响应操作:按钮、StatefulWidget 和 setState、const 和 final、文本框、开关和滑块,最后完成一个小费计算器。
  • 多页面应用:滚动列表、卡片和网格、你自己定义的 Dart 类、页面跳转、标签页、侧边抽屉和滑动删除。然后是适配任何手机的布局:Expanded、Flexible 和 Spacer,溢出错误及其修复方法,Stack、SafeArea、断点、主题和深色模式。
  • 像真实应用那样处理状态和数据:状态提升、搭配 ChangeNotifier 的 Provider、搭配 ConsumerWidget 和 Notifier 的 Riverpod,以及何时用哪种。接着是 Future、async 和 await、FutureBuilder、try 和 catch,以及把服务器返回的 JSON 转成 Dart 类,最后完成一个天气应用。

关于学习 Flutter 的常见问题

学 Flutter 需要先会 Dart 吗?

不需要。Flutter 应用用 Dart 编写,这门课程会边学边教你需要的 Dart 知识:变量、函数、if、类、async 和 await,每一项都在应用第一次用到时讲解。开始前不需要任何编程经验。

先学 Dart 课程好,还是直接从 Flutter 开始?

如果你想开发应用,就从这里开始:从第一节课起你就在写 Flutter 应用,并在其中学习 Dart。如果你想单独学习这门语言,比如编写命令行程序或更深入地学习 Dart,可以先学 Dart 课程,之后再学这门课程会更快。

需要 Android Studio、模拟器或手机吗?

不需要。你的应用在 Coddy 的服务器上编译,在浏览器中的手机屏幕上运行,所以不需要配置 Flutter SDK,也不需要启动模拟器。课程在网站上,可以用电脑或手机的浏览器学习,Coddy 移动应用中没有这门课程。以后如果要发布 Android 或 iOS 应用,你需要在自己的电脑上安装 Flutter,在这里写的代码都可以直接沿用。

在这门 Flutter 课程中我会开发哪些应用?

每个单元都以一个应用结束:名片、小费计算器、菜谱、音乐播放器界面、两个页面共享的购物车,以及天气应用。最后一个单元会再一步步构建四个:待办清单、知识问答、带购物车的商店,以及带连续打卡和深色模式的习惯打卡应用。

这门 Flutter 课程免费吗?

免费。课程内容、应用预览、AI 提示和证书都是免费的。免费账号每天可以学几节课,Pro 会取消每日限制。

学完 Flutter 课程能获得证书吗?

能。7 个单元中的每一个,学完后都会给你一张免费的结业证书,证书有独立的页面,可以分享或添加到 LinkedIn。

包含这门课程的学习路径

这门课程是一条更长路径中的一步:几门课程按导师会教的顺序排列,每门都有自己的免费证书。

Coddy 编程语言插图

用 Coddy 学习 Flutter

开始