Google I/O 2023 之后 Flutter 有什么新变化?

掂掂三生有幸
Java领域新星创作者
2023-06-06 11:11:23

距离 Google I/O 2023 已经过去了大约20天了, IT 行业的许多人,尤其是程序员都在等待这一事件。虽然一些话题,比如日益流行的人工智能,得到了更多的时间和关注,但 Flutter 也有它的机会。事实上,我们了解到,对于开发者和用户来说,重要的变化正逐渐进入官方分发渠道。

 

主要变化

图形引擎

从一开始,Flutter 就一直在提供自己的方法来在屏幕上渲染 UI 元素。底层的 Skia 引擎表现良好,尽管更好奇的人可能会注意到它在未经我们同意的情况下携带了一些不需要的包袱,例如所谓的着色器编译卡顿。Flutter 团队决定全面解决这个问题。他们没有对 Skia 进行修复,而是从头开始创建了一个全新的完整引擎。

他们将其命名为 Impeller,并从一开始就以高性能为设计理念。直到最近,它才作为应用程序开发人员的可选预览版提供。不过,从 Flutter 3.10 开始,它在 iOS 上默认启用,开发者将可以在 Android 上获得预览版。值得注意的是,从框架本身的角度来看,这是一个重大的变化。该引擎的实施和测试过程耗时数年。这一变化并不直接影响现有解决方案的 API 或兼容性,但它表明谷歌非常重视这项技术的发展。

Impeller 在 iOS 上使用 Metal API,而 Android 版本基于 Vulkan(对于不支持它的设备具有向后兼容性)。图形引擎的更换不仅解决了上述着色器问题,而且为进一步提高创建的应用程序的性能开辟了可能性(这已经相当令人印象深刻)。新引擎本身增强了稳定性、灵活性和可预测性,作为我们解决方案的基础。

 

 

 

Web 应用程序正在形成

Flutter 团队最近强调了他们在 Web 应用程序上下文中对其框架方法的一个重要方面。它并不是作为 Angular 或 React 等成熟且广受欢迎的通用框架的竞争对手(或直接替代品)而设计的。Flutter 主要侧重于利用其核心的新技术,例如 CanvasKit 和 WebAssembly。这与基于标准 JavaScript 和 HTML + CSS 代码库的传统方法有很大不同,特别是在可实现的计算性能方面。Flutter 可能会在创建计算更复杂的应用程序的场景中表现出色,而不仅仅是显示一组简单的按钮或文本字段。

在最新版本的 Flutter 中,还改进了生成的应用程序包的优化,减小了它们的大小。在某些情况下,这可以使加载速度提高 42% 。此外,现在可以将 Flutter 创建的元素嵌入到现有的 HTML 页面中(以前,Flutter 必须创建整个屏幕)。这为开发人员提供了更大的灵活性,因为他们可以仅将选定的元素(例如直接来自移动应用程序的元素)嵌入到他们的 Web 应用程序中。重要的是要注意,在嵌入此类元素时,我们现在可以从 CSS 代码访问我们的组件,这使我们能够利用现有的动画或其他视觉效果,例如。

安全投资

在当今世界,网络安全开始发挥越来越重要的作用。精心设计的解决方案分配大量财务资源来创建尽可能安全的产品,并投资于该领域的用户教育。毕竟,最容易受到攻击的往往是人类。

2023 年,Flutter 团队将与安全相关的主题置于优先级,并转化为各个领域的改进,包括安全测试、自动化和整个供应链。Flutter 现在达到了 100% 的基准,可以在这个地址找到——您可以阅读和探索已经涵盖的领域。在接下来的阶段,它应该达到基准的后续级别,即SilverGold 

此外,该团队为所有关键存储库上的良好安全实践和已知漏洞实施了代码分析工具,Flutter 和 Dart SDK 现在已达到 SLSA L1 级别。这是在更好地保护开发人员每天使用的工具方面向前迈出的重要一步。

Material 3 作为小部件的默认外观

Google提供的默认组件库正在不断开发中,外观不断刷新。其最新版本现在完全符合最新的 Material Design 规范。这些更改包括新组件及其主题、现有组件的更新外观以及许多其他有用的元素。在撰写本文时,Material 3 是可选的,但从稳定版本的下一个版本开始,它将默认启用。

在专门准备的应用程序中,可以在其他地方预览新的 Flutter 组件的外观。

对 Material 3 的细节感兴趣的人可以浏览官方资料

Dart 3.0

Dart 最新版本的变化绝对是程序员讨论的最热门话题。GitHub、各种讨论论坛,甚至聚会和会议上出现了无数线程,讨论我们对即将推出的 3.0 版本的变化有何期待。

您可能已经注意到,我们决定增加主要版本号(从 2.19 到 3.0),而对于 Flutter,只增加了第二个版本号(从 3.7 到 3.10)。

以下是最新迭代中选定更改的简要概述,无需深入研究细节:

Dart 现在 100% 基于健全的 null safety不再支持不支持空安全的包和应用程序。

记录——以一种简化的方式,类型现在只能取一个值。随着记录的引入,可以同时返回多个值

模式和模式匹配——一种简化结构化数据(主要是记录)工作的机制。许多程序员会很高兴这种机制扩展了switch语句的功能,这在 Dart 中从一开始就非常有限。

类修饰符——一种主要为复杂 API 的创建者增加新可能性的机制。它允许更精确地控制提供的定义的使用方式。

结论

上面提到的创新只是其中的一些选择元素。在它们之下,尤其是直接从 API 级别,还有更多程序员会感兴趣的变化。正如我们所看到的,最新版本的 Flutter 以及 Dart 带来了许多新的重大改进。在我们看来,它们的性质强烈强调谷歌正在关注框架的长期发展,并对其寄予厚望。这些变化不仅是表面上的,而且是深入到根本上的。其中一些已经为未来的全面增强打下了坚实的基础,尤其是当我们查看 web 域时。

 

...全文
267 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

1,400

社区成员

发帖
与我相关
我的任务
社区描述
加入“谷歌开发者”社区,一起“共码未来。
android 企业社区
社区管理员
  • 谷歌开发者
  • 开发者大赛发布
  • 活动通知
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧