字节跳动的多平台绽放秘诀Flutter开

字节跳动旗下运营着一系列成功的用户产品、企业应用以及服务,覆盖信息、教育、娱乐等不同领域。随着产品阵容的不断发展,传统的原生双平台开发已经难以满足团队更高效、更灵活、更精美,以及更多样的产品研发需求。Google首次发布Flutter的时候,团队就果断决定用手上的iOS和Android应用来测试其跨平台开发能力,而Flutter也用不逊于原生框架的性能表现和极高的生产力迅速征服了团队成员们的心。

06:03

Flutter拥有令人难以置信的超高效率,与原生双端开发相比,Flutter为我们的团队节省了大约1/3的开发时间。

——董岩,字节跳动FlutterInfra团队负责人

”多平台出击,拥抱更多机遇

在更多的平台上覆盖更多用户一直是字节跳动产品团队的目标之一。比如在中国非常受欢迎的短视频娱乐应用"抖音火山版",就让iOS和Android平台的用户都可以通过分享短视频来展示他们的爱好、技能与日常,且拥有非常一致的体验。

△抖音火山版

在2B领域,字节跳动则有一款支持企业协同办公的一站式应用Lark,通过音视频会议、文档共享、及一系列项目管理与能效工具来支持团队的即时通讯需求。整个Lark的生态系统在Flutter的助力下全面覆盖了iOS、Android、web端与桌面平台。

△协同办公一站式应用Lark开发更高效,释放团队创意

热重载(Hotreload)[1]一直是Flutter最令开发者们称道的开发特性之一,让工程师不再需要一遍遍地等待漫长的编译,从而高效调试代码,快速将UI设计师的想法变为现实。

为了让开发者们能最大限度利用各个平台的原生底层功能,Flutter还提供了外部功能接口FFI[2]。这使得Flutter应用可以直接调用C++层代码,提高与硬件交互的效率,同时实现端上深度学习模型的部署。

"极课错题打印机"和"极课阅卷大师"两款智能设备上搭载的应用都使用Flutter开发,前者用于放置在校园内供学生们自助打印错题,后者则可以帮助老师智能识别学生的答卷以及统计分数。借助Flutter,团队得以为超过所学校的师生快速完成设备软件的开发以及迭代。

△智能设备"极课错题打印机"中的应用使用Flutter开发

有些时候,Flutter打造的作品本身也能进一步提升团队的工作效率。比如字节跳动最有趣的Flutterweb应用之一Alchemy,这是一款服务于抖音内容创作的内部工具,为PGC与UGC用户提供便捷有趣的素材生成工具与海量素材,并批量产出受版权保护的设计物料。

△Alchemy像素级精美,收获用户芳心

Flutter对应用屏幕渲染的精确控制能力,让团队得以放开手脚打磨产品的每一个像素。"Lemon8"就凭借优良的用户体验荣登年日本地区GooglePlay年度应用榜单,这是一款兴趣种草社区应用,专注于时尚、美容、美食、旅游、居家、健身、艺术、户外、摄影等内容领域。多样的兴趣圈层对应用的一致认可,离不开Flutter对画布强大的控制力,以及团队的精心雕琢。

△Lemon8多平台开发战略核心“

Flutter是我们公司当下的多平台开发战略核心。我们从最初的几个应用开始,逐渐发展到现在的90多个应用,面向包括移动端、web端、桌面端,以及嵌入式设备等多个平台。我们致力于推动Flutter在字节跳动的深度应用,并对核心框架作出贡献。

——王莹,字节跳动FlutterInfra引擎技术负责人

移动端医疗服务应用"小荷健康"、推荐优质房地产内容和信息的应用"幸福里"、团队虚拟办公工具"Coze",以及程序员和产品经理们熟悉的社区平台"掘金"……字节跳动如今使用Flutter开发的应用已经超过90款,全部由字节跳动的多名Flutter开发者和FlutterInfra团队共同支持。

在如此广泛地采用Flutter的同时,团队自然也对Flutter开放的社区赞叹不已:来自世界各地的开发者们都在为社区贡献代码、编写package、完善文档和制作教程,而总有让您挠头的问题能在社区中找到答案。

团队也在为Flutter核心框架作出自己的贡献。比如提升核心框架在iOS[3]和Android[4]上的稳定性,优化RasterCache[5]、PlatformView[6]、多引擎[7]、线程调度[8]、x86桌面系统[9]和Web[10]等功能,以及为Flutter的DevTools[11]、空安全问题[12]提供修复等等。

随着Flutter3[13]的发布,相信字节跳动团队会创造出更多、更美好的多平台本地化应用,让我们拭目以待!

文内链接[1]

热重载(Hotreload):


转载请注明:http://www.aierlanlan.com/grrz/3721.html

  • 上一篇文章:
  •   
  • 下一篇文章: