惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

aimingoo的专栏
aimingoo的专栏
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Blog — PlanetScale
Blog — PlanetScale
博客园 - Franky
The GitHub Blog
The GitHub Blog
F
Fortinet All Blogs
Microsoft Azure Blog
Microsoft Azure Blog
I
InfoQ
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
T
Tailwind CSS Blog
博客园 - 三生石上(FineUI控件)
Apple Machine Learning Research
Apple Machine Learning Research
D
Docker
Google DeepMind News
Google DeepMind News
GbyAI
GbyAI
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
P
Proofpoint News Feed
N
Netflix TechBlog - Medium
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Engineering at Meta
Engineering at Meta
H
Help Net Security
B
Blog
宝玉的分享
宝玉的分享

博客园 - 包建强

MindSpore开源项目分类(截止到2024.2.3) 开源自己编写的半人工标注平台PaddleOCRLabel(.NET Winform版本) Appium自动化测试框架研究(2)——搭建IOS环境 2019,我在几个新的技术领域的尝试和心得 1.9 From Native to HTML5 1.8 Double-Opening and Virtual Machine 1.7 All components require plug-in? 1.6 Why only in China? 1.5 A better alternative thing: React Native 1.4 The usage of plug-in 1.3 History of Android Plug-in Programing 1.2 Why need pluggable? 1.1 What is the plug-in? Chapter 8 The Simplest Plug-in Solution Chapter 7 Resources in Plug-In(1) Chapter 1: Plug-in programing from past to the future Android插件化的兼容性(下):突破Android P中灰黑名单的限制 Android插件化的兼容性(中):Android P的适配 Android插件化的兼容性(上):Android O的适配
Flutter中高级培训
包建强 · 2019-07-23 · via 博客园 - 包建强

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