2021年,Flutter做了哪些重大更新?

一、新年寄语

又到年底了,不知道你们有没有觉得,自从过了某个年龄以后,时间好像就开始过的越来越快了。

不知不觉,新冠疫情发生已经有 2 年多了,从疫情最开始的人心惶惶,再到我们国人万众一心抗疫,这场苦难好像无形中也增加了民族的凝聚力。

如果可以许下一个愿望,希望在新的 2022,我们可以早日战胜新冠。

二、引言

全职使用 Flutter 开发也有 2 年多的时间了,从 Flutter 发布之初,我就一直在关注,但那时主要在用 React Native,就觉得同样是跨平台技术,没有必要在为了解决同一个问题上,再多学一个效果差不多的工具。 因为当时主要还是观望的心态,再加上在 RN 上已经有一些技术积累,所以对学习 Flutter 的兴趣不是很大。

但是 2019 年,因为一个项目的契机,我第一次在线上的项目里用 Flutter 开发,那个时候 Flutter 1.0 已经正式发布,也就是从那个项目以后,我后面的项目就开始陆续切换到 Flutter 了。

先容我说一句,Flutter YYDS!

虽然它现在也有很多不足,比如 debug 模式在 vivo 某些机型会白屏,比如 release 模式下冷启动会有一定概率白屏(黑屏)等等,但是光是稳定的 HotReload 就足以让人觉得它瑕不掩瑜。

回顾一下过去这一年的 Flutter 发展,无论是对自己以后的学习,还是对想要学习 Flutter 的朋友,应该都会有一些帮助。

三、版本历史

版本发布频率是一个框架活跃度的重要体现之一,所以我们先来回顾一下,2021 年,Flutter 的版本发布历史情况:

渠道发布数量

2021 这一年,
Flutter 共更新 74 个版本
平均 6.17 个/月,1.54 个/周
稳定版 18 个,平均 1.5 个/月,频率蛮高
较重要的有 4 个,分别是:2.02.22.52.8
21 年的第一个版本是 1.25.0-8.2.pre
截止发文,最后一个版本是 2.9.0-0.1.pre
2 月份发布次数最多,共 11 个版本。
11 月发布最少,为 2 个版本。

每月版本统计

从年初的 1.22.6 到年底的 2.8.0,不得不说 Flutter 的版本推进的很快。照这个推进的速度,明年应该至少能上到 4.0 版本。

四、重大更新

虽然今年版本发布了 70 多个,稳定版也有 10 多个,但实际上比较重要的版本也就 4 个,其他版本基本都是在修修补补,所以我们就主要来看下比较重要的这几个版本。

2.0.0

  1. Flutter for Web 稳定版发布,已高度可用
  2. 引入 Null Safety 空安全
  3. 加入多个 Cupertino 风格组件
  4. 更多设备的支持:桌面,平板,折叠设备等
  5. 新增 Widget: AutocompleteScaffoldMessenger
  6. 与原生混合开发支持添加多个 Flutter 页面,并显著降低内存占用。参考:《 多个 Flutter 页面或视图 》
  7. Flutter fix 命令的引入,可以快速帮助修复问题
  8. 更强大的 Flutter DevTools 工具
  9. DartPad 升级到支持 Flutter 2

2.2.0

  1. Dart 2.13 版本支持
  2. Flutter Web 加强了调试和无障碍支持
  3. 提高 iOS 页面转场动画,缩短 iOS 应用安装时间
  4. 更完善的自适应应用的支持,参考: 《 构建自适应的应用 》
  5. 更多 Material 图标,总数突破 7000
  6. 优化桌面端在文本输入时的体验,提供更符合桌面端的操作逻辑
  7. 优化滚动条在桌面端的表现
  8. TextSpan 支持 mouseCursor,还支持 onEnter 和 onExit
  9. 预览版:Android 支持延迟加载组件,可显著减小安装包。更多>> 《 延迟加载组件 》

2.5.0

  1. Dart 2.14 版本支持
  2. 改进着色器,内存回收,优化 iOS 性能表现
  3. 降低 Dart 与原生之间通信的延迟,最高达 50%
  4. 支持 M1 芯片构建的应用直接在 ARM 架构的 iOS 模拟器上运行
  5. flutter create 命令创建项目会自动加入 flutter lints 支持
  6. 解决 Android 全屏模式的一些问题,就是沉浸效果那些
  7. 加入 Material You 设计规范的支持
  8. 优化滚动事件的触发通知,桌面端调整窗口大小时,即使不滚动,也可以收到通知
  9. ScaffoldMessenger 增加了 Material 横幅的支持
  10. 增加一个新的创建项目模板:flutter create -t skeleton my_app
  11. 帮助 pub 插件开发者提高效率的工具:【 查看>> Pigeon 1.0 】
  12. 推荐使用 fluttercommunity.dev 社区维护的 plus 组件代替官方组件,【 访问社区>> 】

2.8.0

  1. 优化了启动性能,尤其在低端设备上的表现
  2. 优化 Android 设备上的内存占用
  3. Flutter Devtools 加入一些新功能
  4. PlatformView for Web,显著提升 Web 性能
  5. webview_flutter 3.0 发布了大量更新
  6. 更好,更方便的使用 Firebase
  7. Flutter for Desktop 加了对国际化过本地化的支持
  8. 移除 flutter sdkdev channel,因为用的人太少

PS:从 2.8.0 以后,官方正式弃用了 dev channel ,如果你还在用 dev 包,可以切换到早点切换到其他渠道了。免得后面版本跨度太大,切换起来问题多。

五、多版本管理 - fvm

随着 Flutter 的不断更新,不同项目之间的 SDK 版本难免会出现差异,这个时候我们就需要用到一个版本管理工具 fvm,来帮助我们来管理 Flutter SDK 的版本。

具体的使用,和其他的如 nvm, gvm 等都类似,只需要安装 fvm,然后将项目的 flutter sdk 地址指向 fvm 下的 Flutter 即可。

如果你也面临着跨多个版本维护项目的问题,不妨试试 fvm,因为篇幅有限,我就不赘述了。

六、总结

通过 Flutter 这一年的更新,我们可以看到 Flutter 的社区正在日益壮大,也有越来越多的大厂加入到开源社区的贡献中来。而 Flutter Team 也在努力将 Flutter 的稳定好用扩展到所有平台上来,让 Flutter 可以真正的实现跨全平台开发。

如果 2019 年不觉得 Flutter 不过如此,那么 2021 年的下一个项目,你真的可以试一试 Flutter 了。希望可以有越来越多的人加入到 Flutter 社区中来,贡献一份自己的力量。

最后,新年的第一个项目,就让我们从 Flutter 开始吧!分享给大家这份阿里大佬整理的《Flutter内核解析与项目实战》,内容在GitHub上标星已经8k了,薅过来分享给大家。

第一章 混合工程

  1. Flutter 工程体系
  2. 混合工程改造实践
  3. 混合工程与持续集成
  4. 快速完成混合工程搭建
  5. 使用混合栈框架开发

第二章 能力增强

1.基于原生能力的插件扩展
2.基于外接纹理的同层渲染
3.多媒体能力扩展实践
4.富文本能力应用实践

第三章 业务架构设计

1.应用框架设计实践
2.轻量级动态化渲染引擎的设计
3.面向切面编程的设计实践
4.高性能的动态模板渲染实践

第四章 数据统计与性能

1.数据统计框架的设计
2.性能稳定性监控方案的设计
3.高可用框架的设计与实践
4.跨端方案性能对比实践

第五章 企业级应用实战

1.基于Flutter的端架构演进与创新
2.Flutter与 FaaS云端一体化架构

朋友们如果需要这份完整版的《Flutter内核解析与项目实战》,微信扫描下方CSDN官方认证二维码【免费获取】。

“有时候,你选择一个方向,不是因为它一定会成为未来,而是它有可能成为不一样的未来。”

  • 6
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值