1、课程导学
一套代研运行多蜡
体州一致,目胜能优昇
未来大趋势
不改交原生项目的基础上,扩展Flutter能力
Flutter原生灵话切涣
0入侵
最简单、最通用
最新Flutter 3,x新特性讲解
大量flutter官方组件和api学习
最常用的第三方库使用及原理解析
自研组件及API
Flutter 框架剖析
Flutter 实战中提取最有价值的经验分享
完整App开发实战
项目完全按照大厂的开发模式讲行
拆解需求,拟定架构,分模块开发
项目覆盖面广,实用性高
性能调优及发布
效果展示
2、Flutter发展概述
什么是Flutter?
由google研发的一款应用程序SDK,一份代码可以同时生成ios和android、mac、windows、web多个高性能,高保真的应用程序。
为什么要用Flutter?
提高开发效率
创建美观,高度定制且统一的用户体验
性能接近native
怎么用Flutter?
原生App + Flutter plugin
Flutter App
Flutter App + 原生接口
Flutter核心原则?
所有的都是widget 小控件
statelessWidget
statefulWidget
Flutter技术发展概览
可通过一个嵌入层以模块化方式集成到现有的应用程序当中
可作为一个应用程序的主体,本身包含有各个平台的嵌入层
Flutter引擎Engine
skia: 渲染引擎,自渲染引擎,所以性能好
dart:引擎中提供dart的运行和编译环境相关的工具链
Text: 布局相关
IO辅助功能支持、plugin结构
Framework
提供了响应式ui框架
两种ui框架 Material design (android)、Cupertino design (ios)
实际开发时ui设计时更倾向于ios
Flutter里面三棵树
节点的挂载?
根节点是如何创建出来的?
3、快速上手Flutter
走近dart 语法和其他语言类似
2011年发布,目的是取代JavaScript
符合flutter构建ui的方式,第一个声明式ui
支持jit 边运行边生成中间产物来解析 和aot 编译成二进制文件后运行两种编译模式
dart有内存安全保证,不需要做过多内存管理,降低了安全漏洞风险。
dart语言特性:
面向对象的编程语言
强类型语言
线程模型
写业务的话不用管这些。视频链接:dart线程管理
UI runner Thread: 执行Dart root isolate代码,Root isolate绑定了flutter所需方法,使其具备UI相关的能力 创建layer tree
GPU runner Thead:执行与GPU相关的调用,可以将U Task Runner 生成的Layer Tree所提供的信息转化为实际的GPU指令
IO runner Thead: 对应Android/ios的子线程,执行耗时操作,防止其他isolate阻塞
Platform runner Thead: 主Task Runner,可以与native交互,相当于Android/ios的 Main Thread
async await异步编程
了解Flutter工程结构:
布局方式及差异 声明式布局
生命周期