我们的宗旨是,做最好的移动软件开发方案。
小学没毕业就出国了的 Google Flutter 团队高级工程师 于潇 如是说。
学习《使用Flutter快速构建集美观与高性能于一体的移动应用》笔记。
学习地址:https://time.geekbang.org/dailylesson/detail/100016434
当前移动软件开发中的阻碍
- 开发太贵
- 开发太慢
- 高质量太难
- 工程资源太难共享
Flutter的研发设计路线
- 跨平台
- 高开发效率
- 简单的表达出UI设计师期望的效果
- 不牺牲原生的运行速度
Flutter的性能与特点
- Hot Reload(热重载)
作为一名Android开发人员,非常能体会到,等待代码编译的过程是多么的让人无奈… 想象一下,现在是晚上九点钟,今晚必须上线,测试小伙伴坐在你旁边,等待着你修复最后一个Bug,你的Wife还在不停的Call你回家恰饭,你飞速的浏览代码定位问题思考正确逻辑飞速敲击键盘完成修改点击Run一气呵成,接下来就是长达8分钟的等待… 编译完成后,测试小伙伴飞速复测,发现还是有问题,继续修改… 这一来一回,十多分钟过去了,修改bug的时间成本太高了!
保守估计,用上热重载功能的话,能够提高原生客户端开发效率10%以上。
- 声明式+响应式开发模式
具体场景:原生开发中,很多运行时异常不做特殊处理的话,会直接Crash掉,我们需要分析Crash log,修改代码,再重新编译运行来测试;而有了这个功能之后,异常只影响错误的部分,修改掉错误代码后,通过Hot Reolad功能,快速应用到已运行的程序中,既不会Crash,又不需要重新编译运行,这是APP开发前所未有的体验!
- 组合性API
“万物皆Widget”,提供了一套强大的可特制设计的UI系统
内置Material和Cupertino风格设计组建
直接GPU渲染
系统架构
其它全平台方案架构性能链路

原生平台的性能是很快的,但是跨平台代码和原生交互时,链路很长,性能很差。
Flutter架构性能链路

Flutter的代码执行链路非常简单,执行效率高。
性能优化 - 布局

由于Flutter的单个Element是比较简单的,可以从上到下,单次布局,加快运行速度。
Flutter的使用体验
闲鱼移动团队分享Flutter的使用体验,实现了Flutter和原生APP的混合开发。
社区支持
-
Flutter官网: https://flutter.dev
-
Flutter国内社区: https://flutter.cn
版本计划
-
Flutter : Release 1.12
-
Flutter Web : Beta阶段
-
Flutter Desktop : Dev阶段
由于本视频是2018年GMTC的,时间比较久了,直到现在(2020年2月10日),Flutter又有了长足的发展,项目应用也越来越成熟,希望感兴趣的同学多多关注。
2018年GMTC视频PPT下载:https://con.infoq.cn/archives/?conf=gmtc