演讲者 / 董韬,Google Flutter 团队,高级研究员 (开发者体验)。2009 到 2014 年在密歇根大学从事人机交互方向的博士研究工作,多次担任 ACM 会议组委会成员和论文审稿人。2016 年下半年加入 Flutter 团队,目前负责 Flutter 的 API 可用性,开发工具设计,以及文档可用性的研究工作。
1. Flutter 及其在中国的发展状况
相信关注我们的开发者朋友已经很熟悉 Flutter 了: 它是 Google 主导研发的一个多平台 UI 工具包,在不久前的 I/O 大会上已经进入 1.5 版本。其优点可以概括为四个方面:
美观
Flutter 构建应用时,可以让开发者对 UI 实现像素级的控制。这也意味着原本的设计意图可以被完美地执行出来,从而将品牌个性忠实地传达给用户。
快速
Flutter 的 UI 渲染性能很好。在生产环境下,Flutter 将代码编译成机器码执行,并充分利用 GPU 的图形加速能力,因此使用 Flutter 开发的移动应用即使在低配手机上也能实现每秒 60 帧的 UI 渲染速度。
Flutter 同时做到 “美观” 和 “快速” 的原因,在于其架构本身。Flutter 引擎使用 C++ 编写,包括高效的 Skia 2D 渲染引擎,Dart 运行时和文本渲染库。这个引擎使得 Flutter 框架可以自由、灵活、高效地绘制 UI 组件。而应用开发者则可以用 Flutter 框架来轻松实现各种设计语言和动画效果。
高效
△ 有状态热重载使得开发者在修改界面后能立即看到相应的变化
对开发者来说,使用 Flutter 开发应用十分高效。Flutter 广受好评的 Hot Reload (热重载) 功能可以在 1 秒内实现代码到 UI 的更新,使得开发操作周期被大幅缩短。另外,热重载能够在执行的时候保留应用的当前状态 (即 Stateful),比如您可能在修改一个导航结构里的子页面,保留状态的热重载可以让您不需要重新从起始页一路点击回到这个子页面,而是在代码修改完成后即刻看到结果。
开放
△ Flutter 的 GitHub repo
Flutter 是开放的,它是一个完全开源的项目。全球的开发者都可以免费使用和拓展 Flutter 的源代码,并为 Flutter 的生态和文档作贡献。 我们已经看到许多中国开发者活跃在社区中,并为 Flutter 做出了坚实的贡献。
Flutter 发展状况
在 StackOverflow 2019 年的全球开发者问卷调查中,Flutter 被选为最受开发者欢迎的框架之一,超过了 TensorFlow 和 Node.js。
全球已经有很多大家熟悉的品牌采用了 Flutter,包括很多国内的知名公司。比如阿里巴巴有多款移动应用已经上线 Flutter 版本。
在中国,Flutter 的开发者社区非常活跃。社区贡献了大量高质量的技术文章,Flutter 官方文档的翻译,还组织了许多线上线下的活动。在今年 I/O 前举办的全球 Flutter Create 大赛中,来自中国广东的胡泽标凭借一个特别精致的罗盘应用