跳到正文
Pollex's blog
返回

最好的移动软件开发方案

目录

我们的宗旨是,做最好的移动软件开发方案。

小学没毕业就出国了的 Google Flutter 团队高级工程师 于潇 如是说。

学习《使用 Flutter 快速构建集美观与高性能于一体的移动应用》笔记。

学习地址:https://time.geekbang.org/dailylesson/detail/100016434

当前移动软件开发中的阻碍

Flutter 的研发设计路线

Flutter 的性能与特点

作为一名 Android 开发人员,非常能体会到,等待代码编译的过程是多么让人无奈…… 想象一下,现在是晚上九点钟,今晚必须上线,测试小伙伴坐在你旁边,等待着你修复最后一个 Bug,你的 Wife 还在不停地 Call 你回家恰饭,你飞速地浏览代码、定位问题、思考逻辑、敲击键盘、完成修改、点击 Run,一气呵成,接下来就是长达8分钟的等待…… 编译完成后,测试小伙伴飞速复测,发现还是有问题,继续修改…… 这一来一回,十多分钟过去了,修改 bug 的时间成本太高了!

保守估计,用上热重载功能的话,能够提高原生客户端开发效率10%以上。

具体场景:原生开发中,很多运行时异常不做特殊处理的话,会直接 Crash 掉,我们需要分析 Crash log,修改代码,再重新编译运行来测试;而有了这个功能之后,异常只影响错误的部分,修改掉错误代码后,通过 Hot Reload 功能,快速应用到已运行的程序中,既不会 Crash,又不需要重新编译运行,这是 APP 开发前所未有的体验!

“万物皆 Widget”,提供了一套强大的可特制设计的 UI 系统

内置 Material 和 Cupertino 风格设计组件

直接 GPU 渲染

系统架构

其它跨平台方案架构性能链路

image-20200211005928201

原生平台本身的性能很好,但是跨平台代码和原生交互时,链路很长,性能很差。

Flutter 架构性能链路

image-20200211005852022

Flutter 的代码执行链路非常简单,执行效率高。

性能优化 - 布局

image-20200211010142459

由于 Flutter 的单个 Element 是比较简单的,可以从上到下,单次布局,加快运行速度。

Flutter 的使用体验

闲鱼移动团队分享 Flutter 的使用体验,实现了 Flutter 和原生 APP 的混合开发。

社区支持

版本计划

由于本视频是2018年 GMTC 的,时间比较久了,直到现在(2020年2月10日),Flutter 又有了长足的发展,项目应用也越来越成熟,希望感兴趣的同学多多关注。

2018年 GMTC 视频 PPT 下载:https://con.infoq.cn/archives/?conf=gmtc


分享这篇文章:

上一篇
Android多渠道包生成方案学习记录(V1签名)
下一篇
好奇心 + 懒惰是工程师最大的美德