想开发你自己的抖音 APP 吗?本课程将带领大家使用最新的、革命性的 Google 跨平台 UI 框架 Flutter 来开发一款类似于抖音的短视频社交 APP 围观。本课程主打实战,内容来自于真实在线应用 围观 APP 的开发经验汇总,因此具备很强的工程实践参考性。本课程内容包含 63 个课时、680 分钟视频、3 个开源项目和大约 10000 行代码,覆盖了 Dart 语言、Flutter 框架和产品功能开发等移动应用开发的各个方面。只要用心学习完本课程,并理解清楚所有代码,则完全可以胜任初级或中级移动开发工程师岗位。

本课程实战项目所开发的围观 APP 可替换其模拟 API 为 叽歪课堂 - Python Sanic 高并发服务开发实战 课程实战项目所开发的围观 API 服务,两门课程可搭配起来学习,打通全栈开发。

课程地址

因不同平台收取的服务费不同,因此价格略有差异。大家可自由选择购买平台,内容都会同步更新。如有任何有关课程购买的疑问,可加入 QQ 群 729051923 咨询。

适用人群

学习过 Web、安卓、iOS 等任意一种客户端开发技术,渴望职场进阶的初级工程师。

课程资料

  1. Dart 语言示例代码
  2. Flutter 组件使用示例
  3. 围观 APP 参考代码

由于 GitHub 仓库代码更新(优化或修复 Bug)比课程内容快,因此课程里所讲代码跟仓库代码可能会有细微差别。

课程答疑

  1. 叽歪论坛 请在课程对应分类下提问
  2. QQ 讨论群 434396612

以上服务均为附赠,不保证答疑及时性。

内容介绍

本课程共包含四个章节,其中前两个章节讲解 Dart 语言,第三个章节讲解 Flutter 框架,第四个章节为围观 APP 实战开发。如果对 Dart 语言和 Flutter 框架有一定了解,又急于进入实战开发的同学,可以直接进入实战章节。如果觉得实战章节学习起来比较困难,可以再回过头去学习前面的章节。

Dart 语言基础

Dart 是一门类型安全的语言,同时还支持动态类型,因此兼具了静态类型和动态类型语言的优点。Dart 同时支持 JIT 及时编译和 AOT 预编译,这样就可以在开发时使用 JIT 编译来快速查看运行效果,而在开发完成后使用 AOT 编译程序为二进制代码来提升运行性能。Dart 语言专门针对 UI 开发进行了优化,在语法上有些类似 JavaScript,但设计更加严谨,开发体验上也更加友好。

本章节讲解 Dart 语言基础内容,共计包含 9 个课时,主要是面向过程编程,包括变量、类型、函数、操作符、控制流程和异常等。本章节和下一章节里所用的示例代码已公开为 GitHub Gist Dart 语言示例代码

  • 介绍
  • Hello Dart
  • 重要概念
  • 变量
  • 内置类型
  • 函数
  • 操作符
  • 控制流程语句
  • 异常

Dart 语言进阶

本章节讲解 Dart 语言进阶内容,共计包含 9 个课时,包括面向对象编程,以及泛型、库、异步、生成器、可调用类、类型定义、元数据和注释等。

  • 泛型
  • 异步
  • 生成器
  • 可调用类
  • 类型定义
  • 元数据
  • 注释

Flutter 框架基础

Flutter 是 Google 在 2017 I/O 大会上推出的全新 UI 框架,目前主打移动平台,包括 Android 和 iOS,未来还会扩展到其它平台,包括桌面平台。经过一年多时间的发展,Flutter 团队于 2018/12/4 号正式释放出了 1.0 版本。关于 Flutter 的更多介绍可参阅笔者博客文章 JW Flutter Demo 之开发环境搭建

本章节讲解 Flutter 框架基础,共计包含 20 个课时,包括开发环境搭建、布局、导航和交互等。本章节里所讲的 Flutter 组件用例代码已在 GitHub 上开源 JW Flutter Demo

  • 介绍
  • 安装
  • 配置 IDE
  • Hello World
  • 布局机制
  • 布局步骤
  • 水平和垂直布局
  • 常用布局组件
  • 布局实例
  • 导航器
  • 进入新页和返回
  • 跨页面传递数据
  • 使用命名路由
  • 跨页面传递组件
  • 导航器嵌套
  • 无状态和有状态组件
  • 创建有状态组件
  • 管理状态
  • 手势
  • 交互实例

围观 APP 开发实战

本章节通过实战开发一款类似于抖音的短视频社交 APP 围观来深入理解和学习 Flutter 框架,其中会用到许多 Flutter 组件和第三方库,涵盖了 Flutter 移动应用开发的大部分场景。除此以外,还会学到许多真实的工程实战经验,比如如何提高代码调试效率、如何通过配置增加代码的灵活性、如何通过缓存和持久化提升用户体验等。本章节的参考代码已在 GitHub 上开源 Weiguan Lite。建议大家在学习过程中不要直接照抄代码,先自己编码实现某个功能后再去对比阅读参考代码,这样才能理解得更深刻。

  • 产品需求
  • 框架与导航
  • 配置与主题
  • 定义数据模型
  • 管理应用状态
  • 请求服务端数据
  • 启动应用
  • 注册/登录/退出
  • 管理个人资料
  • 展示图片
  • 播放视频
  • 发布动态
  • 展示动态
  • 喜欢动态
  • 删除动态
  • 用户主页
  • 关注用户
  • Android 打包
  • iOS 打包

参考资料

  1. Dart 语言示例代码
  2. Flutter 组件使用示例
  3. 围观 APP 参考代码
  4. Dart
  5. DartPad
  6. Dart Packages
  7. Flutter
  8. 天火技术博客
  9. 天火 GitHub

更新日志

  1. 2019-07-13 升级 Flutter 到 v1.7,并更新所有 pub 依赖包到最新版本
  2. 2019-05-25 升级 Flutter 到 v1.5
  3. 2019-01-14 课程发布