字节跳动为什么选用Flutter?
极客时间编辑部
讲述:丁婵大小:8.44M时长:06:09
Flutter 自 2018 年 12 月正式发布以来,以黑马姿态迅速成为移动端最火热的开发框架之一。 凭借其自身优势,Flutter 在多个大企业落地,其中就包括字节跳动。为什么字节跳动会选用 Flutter?Flutter 大火背后的原因是什么,它会成为跨平台开发的终极之选吗?
近日,InfoQ 就上述问题采访了字节跳动移动平台部 Flutter 架构师、知名博客 Gityuan 博主袁辉辉。以下为采访重点内容。
Flutter 大火的原因
有人说 Flutter 大火的主要原因是它选择了 Dart 语言,Dart 有着高性能的表现和可快速分配内存的能力,能同时支持 JIT 和 AOT 模式,允许在带类型的语言中支持形变和有状态热重载,能编译出高效率的 ARM 机器码指令,Dart 作为面向对象的语言也能让绝大多数开发者更快速上手。
的确,Dart 语言有一定的优势,但这样的优势并非 Dart 独有,这不会是大家选择 Flutter 的核心原因。事实上,Dart 在 Flutter 出现之前,曾一度几乎被人遗忘。正是因为近年来 Flutter 的火爆,才让 Dart 重新进入了大众视线。
Flutter 之所以大火,主要是以下几个原因:
1. 现有跨平台技术存在缺陷
在移动互联网时代,Android 和 iOS 两大阵营长期共存,再加上体系成熟的 Web 前端技术,导致出现同一个应用需多端重复开发的人力成本问题。而目前业界比较成熟的跨平台技术都存在一定的缺陷,比如小程序渲染耗时过长,白屏率会影响转化收益,能实现的功能非常受限。再比如 React Native ,其性能不足、问题排除难、维护成本高。Flutter 的出现,让这些跨平台开发问题有所改善。另外,一直备受关注且神秘的 Fuchsia 系统在 UI 框架也使用了 Flutter,可作为长期战略投入,这也增强了大家对 Flutter 的信心。
2. 研发效率就是竞争力
移动互联网进入下半场,出现字节跳动等新巨头,在没有历史包袱的情况下,更愿意尝试技术上限更高的新技术。从校招和社招的难度上不难发现:客户端的人才相比之前更为稀缺,尤其是 iOS 工程师。而下半场会有更多竞争和更为激烈的赛道,比如教育等方向。Flutter 本身非常适合从零开始的没有历史包袱的应用开发,对于新业务尤其是在团队人力紧缺的情况下,在技术选型上考虑 Flutter,能加快产品在多端落地、快速试错。
3. 漂亮与流畅集于一身
Flutter “一出生”就以“UI 漂亮、像素级可控、性能流畅、可媲美原生性能”等特点吸引广大开发者的眼球,自渲染引擎甚至具备开发游戏的能力。移动下半场,没有人口红利,竞争更为激烈,如何能更好地满足用户对高品质、高流畅的需求,便是移动端一种强有力的竞争力。跨平台技术想要拥有更高的流畅度,采用自渲染技术的方案便是更优解,也是一个更为彻底的跨平台技术方向。
字节跳动选择 Flutter 的初心
从字节跳动内部团队来看,客户端同学较前端同学,对 Flutter 接受度更高。Flutter 更像是一个从客户端视角出发的跨平台技术,与其说 Flutter 是大前端技术,不如说它是大移动端技术。Flutter 发展的 Roadmap 也是先全面支持 Android/iOS 端能力,再进一步完善 Web 端能力支持的。
在字节跳动,跨平台技术并没有形成大规模的落地,也没有历史包袱,所以在面对跨平台技术选型时,更关注跨平台技术的技术上限以及发展潜力,自渲染技术的 Flutter 可以理解为更彻底、更纯粹的跨平台技术,伴随着媲美原生的流畅度。这便是字节跳动选择 Flutter 的初心。
Flutter 并非跨平台终极之选
从 Hybrid App 到 React Native,再到 Flutter,跨平台技术层出不穷。目前来看,Flutter 是跨平台开发的最热门技术,但不一定是跨平台开发的终极之选,它有着历史局限性。未来一段时间,还应该是多套跨平台技术并存的时代。目前 Flutter 也没有全面做到可以碾压其他跨平台技术,可根据团队以及业务特点来考虑更适合的方案。
不过,在现阶段,开始尝试探索和积累沉淀 Flutter 技术能力,并在业务上使用 Flutter 技术的应用,从战略上来说将处于领先。选择 Flutter,正可谓是“进可攻退可守”,往前进一步,Flutter 应用未来可无缝迁移到 Google 开发的下一代操作系统——Fuchsia ,借用 Fuchsia 系统适应多元化设备的能量扩展到更广泛的用户场景;退一步,Flutter 技术自身在 Android/iOS 平台的表现比其他跨平台技术更优秀。
袁辉辉坦言,选择 Flutter,不是因为它一定会成为未来终极之选,而是它有可能成为不一样的未来。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
该免费文章来自《极客视点》,如需阅读全部文章,
请先领取课程
请先领取课程
免费领取
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(3)
- 最新
- 精选
- 爱学习的大叔主要看重一门语言搞定多端,然后未来有更多可能性
- 君莫笑对于很吃底层性能的应用,比如那些图像视频编辑应用,Flutter还适合吗?深度挖掘设备性能,Flutter有原生语言好吗?请大神解疑!
- 小斧1. 现有跨平台技术存在缺陷 2. 研发效率就是竞争力 3. 漂亮与流畅集于一身
收起评论