Flutter2022战略和路线解读与想法
作者:GSYTech
最近 Flutter 发布了官⽅关于 2022 的 战略 和 路线图 ,本篇主要针对内容做⼀些总结和解读,给正在使⽤ Flutter 或者正打算使⽤Fluter 的⼈做个参考。
总结陈述相关
⽬前 Flutter 社区的发展已经很⼤,官⽅统计在过去的⼀年⾥,「数据上 Flutter 已经基本超过超过其他跨平台框架,成为最受欢迎的移动端跨平台开发⼯具,截⾄ 2022 年 2 ⽉,有近 50 万个应⽤程序使⽤ Flutter」。
在过去⼀年⾥, Flutter 社区有数千⼈为该项⽬提供了贡献和⽀持,从个⼈到 Canonical、Microsoft、ByteDance 和阿⾥巴巴等⼤公司都对 Flutter 提供了不少帮助。
当然 Flutter 也不是尽善尽美,Flutter 虽然也有被⼀些⼤型应⽤所使⽤,例如:SHEIN (顶级时尚零售商)、(10 亿+⽤户 IM 应⽤程序)和PUBG (7.5 亿+玩家⼤逃杀游戏),但是它在⼤型应⽤中使⽤并不明显。
因为在⼤型应⽤中有⼤量的历史需求和代码,还有重构所需的成本限制,「使⽤ Flutter 进⾏混合开发其实⽀持不如 Jetpack Compose」,是的, Flutter 官⽅表⽰:
❝
相反,Android 的 Jetpack Compose 产品⾮常适合这⼀类产品,因为它可以轻松地基于 JVM 的框架,逐步添加到现有的 Android 应⽤程序中。
❞
「也就是从官⽅的⾓度看,混合开发下,特别是 Android 平台,其实 Compose 更适合混合开发,感觉这也是 add-to-app 的维护和推进到现在好像并不乐观的原因」。
展望
「Flutter 在 2022 年⾸要的战略⽬标就是⽉活跃⽤户的增长」,官⽅的理念就是:
❝
⼀个 SDK 再优秀,如果只有少部分⼈在使⽤,那它也不能体现价值;但是⼀个 SDK 即使平庸,但是有⼤量开发者使⽤,那也会拥有⼀个健康繁荣的⽣态氛围,这样使⽤框架的⼈才能从中受益。
❞
1、提升开发体验
「⽬前⾕歌认为虽然 Dart 和 Flutter 相对原⽣平台会给开发者带来学习成本,但是也会带来了不错的收益」,另外得益于社区良好的发展和维护,⽬前 Flutter 和 Dart 丰富的开发⼯具和⽂档,可以让开发⼈员顺利地迁移到 Flutter,所以 Dart 和 Flutter 未来的开发体验会越来越好。
⽽官⽅未来也将持续优化 Flutter 的⼀些开发体验,例如:DevTools 中有助于调试性能问题的新功能。
「但是事实上在新版 Android Stuio Bumblebee 和 Flutter 插件 的体验⽬前并不好」,⼀些 Plugin 上功能的消失或者⽆法正常使⽤的问题其实⽐较让⼈难受,例如:「出现 iOS 运⾏提⽰ Cocospod 不存在,但是其实已经安装的问题」。
虽然这种问题通过其他⽅式解决并不⿇烦,⽐如命令⾏运⾏,但是显得就很低级。⽬前 Android Stuio Bumblebee Patch1 已经解决了该问题,「但是这次更新⽆法增量,只能全量覆盖」。另外
还有关于 Flutter 插件上关于 module 的⾃动导⼊消失的等等 ···
❝
可以看到 Flutter 已经投⼊很多精⼒和时间在改进 Flutter 的开发体验,作为⽬前最⼤体量的跨平台开发框架,时不时有些瑕疵还是可以理解,希望 2022 Flutter 能更加注重细节的问题。
❞
2、跨平台
关于跨平台上体验上,在 iOS 和 Android 上 Flutter ⽬前已经可以说得做到了不错的体验和质量,⽽随着 Window 第⼀个稳定版本已经发布了,今年的⼤⽬标之⼀就是继续提⾼ Web 和 Desktop 相关的开发体验和交付质量。
另外 Android 开发⼈员正在对 Material 的进⾏⽀持,同时对新硬件功能和外形尺⼨等进⾏适配,以及与 Jetpack 库和 Kotlin 代码的更好集成也都是计划之⼀。
最后 Flutter 在 Web 上⽬前已经使⽤了 CanvasKit、WebGPU、AOM 和带有 GC 的 WebAssembly 等新技术,在新的⼀年也会继续维护和提⾼ Web 的交付质量,例如: 「在 Web 上的 hotload 以及改进 Dart-to-JS 的使⽤场景」。
2022 年路线图
「正如前⾯解读的,Desktop 的投⼊是最主要的⽬标之⼀,从 Windows开始,然后是 Linux 和 macOS ,将尽快推进 Desktop 平台全部 Stable」。
关于 Web ⽅⾯,在⾼兼容和提⾼性能的同时,也打算尝试让 Flutter Web 可以嵌⼊到其他⾮ Flutter 的 HTML 页⾯⾥。
Flutter 的 framewok 和 engine ⽅⾯, 「Material 3 和⽀持从单个 Isolate 渲染到多个窗⼝会是很重要的⼀部分内容,另外还有⼀个⼤头就是改进各个平台上本编辑的体验」。其实个⼈认为,Flutter 在⽂本编辑和键盘⽅便的体验确实还不够好。
Dart 语⾔⽅法主要是 2022 可能会引⼊静态元编程,另外语法改进,计划扩展 Dart 的编译⼯具链以⽀持编译到 Wasm 也在计划当中。
关于 Jank 问题,Flutter 已经开始考虑重构着⾊器了,其中 「2022 年 iOS 将会迁移到新的着⾊器框架上,并在后续再移植到其他平台」,但是从 #85737 上看,任重道远,希望不会有什么⼤坑吧~
最后
总的来看, Flutter 团队的今年的投⼊和计划还是占⽐不低,Flutter 社区的活跃也加速着 Flutter 的成熟。
但是同样随着 Flutter 项⽬越来越庞⼤,例如 #95343 这样的问题可能也会越来越多,因为使⽤的⼈多了,需要⾯对的需求就多了,细节的把控上就更具备挑战性。
同样就如官⽅所说,虽然 Flutter 团队有在推进混合开发的⽀持,但是 Flutter 从根源实现上,对于混合开发其实就很不友好,例如:渲染同步、路由同步、混合内存优化、混合数据共享等等,不是说不⽀持,⽽是成本和收获的问题,所以可以看到最近这些稳定版本,Flutter 关于 add-to-app 的提及相对较少,⽬前看来 Flutter 官⽅主要还是计算在 「维护好 Andorid 和 iOS 平台的基础上,继续优化 Web 的质量和推进 Desktop 全平台正式发布更主流。」
flutter开发app前段时间还收集整理了Android⾼⼯必备技能知识脑图和核⼼知识点笔记⽂档!既能够夯实底层原理核⼼技术点,⼜能够掌握普通开发者,难以触及的架构设计⽅法论。那你在⼯作中、团队⾥、⾯试时,也就拥有了同⾏难以复制的核⼼竞争⼒。
相关的⼀些知识点解析都已经做了收录整理上传⾄,⼤家可以⾃⾏访问查阅。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论