Flutter中高级培训


一.简介

       Flutter是谷歌的移动UI框架,可以快速在iOS和Android上构建高质量的原生用户界面。Flutter可以与现有的代码一起工作。本课程全面介绍Flutter的原理和架构设计,以及与Android和iOS的交互。

      本课程系列适合于:


  • 从事Android或iOS开发的技术人员、技术经理。
  • 从事Flutter开发的技术人员。
  • 对Flutter技术有兴趣学习和研究的开发人员


    本课程系列将帮助初中级学员快速成长,掌握Flutter开发所需要的各种相关技术,帮助高级学员在公司快速搭建Flutter技术框架。



二. 课程大纲(2天)


第一天

第1讲 Dart语言快速入门


  • var和dynamic
  • 函数闭包
  • 数组即列表
  • 没有接口?
  • 类的私有变量
  • 构造函数的语法糖
  • 类的属性
  • part关键字与部分类
  • is与as
  • mixin语法
  • 工厂构造函数与factory
  • 函数的可选参数
  • Future
  • Stream


第2讲  Flutter技术快速入门


  • MaterialApp与Scaffold 
  • Widget
  • 页面及各种控件
  • 路由
  • 使用资源
  • 使用第三方库
  • 基本网络请求
  • 打包大小


第3讲  开源库


  • 网络请求
  • 图像加载
  • 图像处理
  • UI相关
  • 音频视频
  • 路由
  • 消息
  • 存储
  • 编解码
  • 序列化
  • 系统平台相关
  • 地图
  • 其它库


第4讲 插件、包、模块


  • 四种Flutter工程类型
  • 使用Module,在App中添加Flutter项目
  • 使用Package,创建自定义Widget
  • 使用Plugin,获取电池电量

第5讲  Platform Channels


  • Flutter与App通信流程
  • 三种Channel的区别
  • Channel的组成
  • 消息类型的对应关系
  • 使用Method Channel
  • 使用Event Channel


第6讲 Flutter网络封装


  • 原生App的网络框架

    • 使用配置文件管理网络请求
    • 数据缓存
    • 重试
    • 转菊花

  • 方案1:使用Flutter原生代码编写网络库
  • 方案2:复用原有的Android/iOS网络框架


第7讲 热更新


  • 仅限于Android和国内市场的尴尬
  • flutter build bundle命令
  • 暴力替换的热更新方案
  • MXFlutter


第8讲 状态管理


  • ScopeModel
  • redux
  • BLoC
  • rxDart
  • Provider


第9讲 Flutter编译原理


  • Flutter架构
  • Flutter编译模式


第10讲Flutter打包流程


  • Flutter项目的目录结构
  • 解读local.properties
  • 解读根目录的build.gradle
  • 解读工程目录的build.gradle
  • Flutter的打包步骤
  • Android和iOS项目的隐藏文件


第11讲Flutter的渲染原理


  • 通用渲染的基本原理
  • Flutter渲染的基本原理
  • Skia概述
  • Flutter App启动后的执行顺序


第12讲Flutter混合开发与工厂化架构


  • pubsec管理
  • pubsec依赖冲突解决
  • Flutter组件化架构设计