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

Flutter中高级培训的更多相关文章

  1. 龙灵:特邀国内第一讲师“玄魂” 在线培训黑客神器Kali Linux

         如何成长为黑客.白帽子.网络工程师.渗透工程师?      国内这类型精英人才,大部分都是自学成才.他们成长的路上充满艰辛,还有更为漫长的学习过程.当然,幸运儿以外的大部分爱好者,被知识门槛 ...

  2. PHP学习课程和培训方向学习路线分享

    php语言的优越性,集结了很多的开发爱好者,无论行业前景和个人发展来说,php正飞速的发展,php在不断兼容着类似closures和命名空间 等技术,同时兼顾性能和当下流行的框架.版本是7之后,一直在 ...

  3. flutter、rn、uni-app比较

    前言 每当我们评估新技术时要问的第一个问题就是“它会给我们的业务和客户带来哪些价值?”,工程师们很容易对闪闪发光的新事物着迷,却经常会忽略这些新事物其实可能对我们的客户没有任何好处,反而只会让现有的工 ...

  4. IT培训行业变革大会,7月11日启程!

    自上世纪八十年代PC时代起,IT行业走过了以2G移动网络和宽带网络.PC终端为主要载体,软件产品.应用软件和门户网站为特征产品的PC互联网时代. 以3/4G移动和高速宽带和移动终端为主要载体,移动支付 ...

  5. Flutter为什么使用Dart?

    老孟导读:关于Flutter为什么使用Dart?这个话题,就像PHP是世界上最好的语言一样,争论从来没有停止过,有很多说法,比如: Google是为了推广Dart,Dart是亲儿子. Flutter团 ...

  6. 使用Flutter完成10个商业项目后的经验教训

    作者:Łukasz Kosman 和 Jakub Wojtczak 原文:https://medium.com/swlh/lessons-learned-after-making-the-first- ...

  7. Flutter 2.2 更新详解

    Flutter 2.2 版已正式发布!要获取新版本,您只需切换到 stable 渠道并更新目前安装的 Flutter,或前往 flutter.cn/docs/get-started 从头开始安装. 虽 ...

  8. Flutter 与 Swift - 在创建 iOS 应用程序时应该押注什么技术?

    Swift 和 Flutter 是考虑创建 iOS 应用程序的公司最想要的两种技术.开发者能用原生技术取胜吗?如何选择,哪种更适合您的应用?让我们一探究竟吧! 根据 Statista 的数据, 201 ...

  9. 关于开启.NET在线提升教育培训的通知! - 可在此页面观看在线直播!

    年前在线公开课程通知: 近期在开启VIP课程,隔天讲一次,年前其它时间插空讲公开课,主题:设计模式系列 1:培训 - 大概不会讲的内容: 1:不讲系列. 2:不讲入门. 3:不讲我不懂的! 2:培训 ...

随机推荐

  1. 【Eclipse】安装配置

    [Eclipse]安装配置 官网:https://www.eclipse.org 全部版本下载:https://www.eclipse.org/downloads/packages/

  2. 【Java Web开发学习】Spring JPA

    [Java Web开发学习]Spring JPA 转载:https://www.cnblogs.com/yangchongxing/p/10082864.html 1.使用容器管理类型的JPA JND ...

  3. flask之分析线程和协程

    flask之分析线程和协程 01 思考:每个请求之间的关系 我们每一个请求进来的时候都开一个进程肯定不合理,那么如果每一个请求进来都是串行的,那么根本实现不了并发,所以我们假定每一个请求进来使用的是线 ...

  4. 提示用户输入一个1-40之间的数字,使用if语句根据输入数字的大小进行判断,如果输入的数字在

    提示用户输入一个1-40之间的数字,使用if语句根据输入数字的大小进行判断,如果输入的数字在 num_user=input('输入一个1-40之间的整数:') num_int=int(num_user ...

  5. Ubuntu上面安装sqlite3可视化数据库软件

    .介绍:sqlite 3是linux上的小巧的数据库,一个文件就是一个数据库. 2.安装:要安装sqlite 3,可以在终端提示符后运行下列命令: sudo apt-get install sqlit ...

  6. Spring Cloud Alibaba 新一代微服务解决方案

    本篇是「跟我学 Spring Cloud Alibaba」系列的第一篇, 每期文章会在公众号「架构进化论」进行首发更新,欢迎关注. 1.Spring Cloud Alibaba 是什么 Spring ...

  7. django基础之有名分组和无名分组

    在Django 2.0版本之前,在urls,py文件中,用url设定视图函数 urlpatterns = [ url(r'login/',views.login), ] 其中第一个参数是正则匹配,如下 ...

  8. 3种骚操作,教你查看 Java 字节码!

    在我们工作.学习.以及研究 JVM 过程当中,不可避免的要查看 Java 字节码,通过查看字节码可以了解一个类的编译结果,也能通过编译器层面来分析一个类的性能. 字节码文件是不能直接打开的,下面栈长教 ...

  9. idea创建Maven版的ssm项目

    要使用idea创建一个maven项目,首先电脑安装maven,maven下载地址:http://maven.apache.org/download.cgi 1.打开idea,选择创建一个新项目,选择m ...

  10. 学生选课系统v1.0

    最近两天写了下老师课上留的作业:学生选课系统.感觉自己写的特别麻烦,思路特别不清晰,平常自己总会偷懒,一些太麻烦细节的功能就不去实现了,用简单的功能来替代,直到自己这回写完这个系统(但自己写的比较lo ...