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组件化架构设计

 

更多相关文章

  1. C语言函数的递归(上)
  2. Android(安卓)的RIL驱动模块
  3. Android开发-Android(安卓)Jetpack 架构组件的使用(一)
  4. Android(安卓)8.0新特性
  5. Android(安卓)Jetpack架构组件(二)带你了解Lifecycle(使用篇)
  6. Android(安卓)IT资讯网络阅读器应用源码
  7. Swift 的强大之处 - iOS移动开发周报
  8. 使用Kotlin高效地开发Android(安卓)App(一)
  9. Android(安卓)的 MediaPlayer源码框架讲解

随机推荐

  1. 获取复选框的文本属性
  2. 在上传前预览xls、xlsx、doc等文件的缩略
  3. jQuery.parseJSON()函数详解
  4. Slick:TypeError:b。$ slides为null
  5. 页面加载后的JQuery(窗口).load?
  6. jQuery Ajax不适用于每个版本的Internet
  7. 在jQuery中使用部分ID查找元素?(复制)
  8. jQuery 事件绑定方法(bind hover toggle l
  9. JS框架是JQUERY好还是EXT好,请懂行的朋友
  10. 行建立动画输入