1

Google I/O 公布 Flutter 3.22 和 Dart 3.4

flutter 3.22 sdk

视频

https://www.bilibili.com/video/BV1RH4y1g7VN/

前言

原文 https://ducafecat.com/blog/flutter-3-22-dart-3-4-latest-updates

Dart & Flutter 在过去几个月里格外忙碌,但我们很高兴地宣布,Flutter 3.22 和 Dart 3.4 已经降落并今天可用,恰好赶上今年的 Google I/O

我们始终致力于提供强大的语言和框架配对,使您能够从单一的共享代码库构建美观、丰富和快速的应用程序 — 这样您就可以将应用程序交付给移动、Web 和桌面用户,而无需分割您的产品路线图。

Flutter 3.22 和 Dart 3.4 提供了性能改进和特定于平台的优化,使我们更接近这一愿景。我们特别激动地分享有关我们与 Wasm 的旅程的更多信息,但您会发现更多内容,包括改进的 Impeller 渲染引擎,在 iOS 上更流畅的视觉效果和降低的 CPU 使用率,Android 的预测返回手势增强了平台导航,使用 Google Mobile Ads SDK 扩展了货币化选项,并在 DevTools 中添加了一个新的强大的深度链接验证器。 Dart 开发人员将喜欢在 IDE 中直接进行 API 迁移的简化,以及用于高级分析的新 DevTools 功能。此外,您现在可以预览 Vertex AI for Firebase Dart SDK,将基于 AI 的功能与强大的安全措施集成。

今天,我们还将重点介绍使用 Flutter 提高生产力并构建高性能体验的顶级公司。我们将重点介绍一些特别令人振奋的功能,使我们更接近实现跨平台提供类似本机性能的目标,并包括有关我们在生产力、开发人员体验和游戏方面的投资的选择更新。

如果您想了解发布内容的详细信息,请查看专门的 FlutterDart 帖子。是时候启动了!

Flutter in action Flutter 实战

Flutter 开发人员正忙着将大型新应用程序推向应用商店。让我们看看其中的一些。

帮助大型企业级应用程序在移动设备和网络上实现

  • 在英国,金融机构 Virgin Money 正在使用 Flutter 开发其一套移动银行和信用卡应用程序,统一应用程序开发流程,加快变革速度,并实现行业领先的用户体验。
  • 美国保险公司 GEICO 最近分享,Flutter 帮助他们改善了跨 iOS、Android 和网络的品牌用户体验,减少了代码库的大小,并提高了开发效率,而且都是在规模化的情况下。
  • Universal Studios Destinations & Experiences 通用影城目的地与体验发布了新的 Flutter 移动应用程序,适用于他们的好莱坞、大阪和奥兰多主题公园。观看下面的视频,了解他们为什么选择了 Flutter 以及目前的表现如何。

超越移动和网络

  • 自 2021 年以来,Canonical 团队一直在与 Flutter 合作,以在 Ubuntu 中支持 Flutter ecosystem 生态系统。在过去的一年里,Canonical 团队已经使用 Flutter 从头开始重建了 Ubuntu 安装程序。
  • LG 选择 Flutter 来增强他们的智能电视操作系统 webOS。Flutter 的性能、生产力和强大的生态系统使 LG 能够快速开发和部署运行流畅的 webOS 系统应用程序。到 2025 年,Flutter 将为全球数千万台 LG 电视的系统应用提供动力。

我们受到这些成功故事的启发,并致力于使 Flutter 变得更好。让我们深入了解最新的产品更新,展示我们正在做些什么,以使您能够构建更多令人惊叹的应用程序、游戏和体验。

WebAssembly 在 Web 上追求原生性能

今天,我们宣布在我们的稳定版本中支持将 Flutter Web 应用编译为 WebAssembly(Wasm)。这是一种令人兴奋的新指令格式,适用于 Web 浏览器,提供了一种便携、平台中立的二进制代码格式。

我们对 Wasm 的支持是一个深入的、跨多年的投资。首先,我们与 Chrome 团队合作,共同定义了 WebAssembly 对高级、托管语言(如 Dart)的支持,这些语言通常使用垃圾回收。这导致了 WasmGC 提案的产生,现在已经成为一个完整且最终的标准,具有在 Chrome(Chromium 119 及更高版本)和 Firefox(120 及更高版本)中可用的运行时实现,并且预计其他浏览器供应商也会跟进。接下来,我们添加了一个全新的 Dart 编译器后端来生成 WasmGC 代码,Dart 和 Flutter 团队合作,将编译后的应用代码和 Flutter 渲染引擎作为 Wasm 模块运行,实现了高效的 Wasm 到 Wasm 的互操作。

Wonderous 那么最终结果是什么?我们看到性能大大提高,接近在移动设备和台式机上运行机器码时的性能。在我们的内部基准测试中(在 M1 MacBook 上的 Chrome 中),Wonderous 的帧渲染时间在一般情况下提高了 2 倍,在 99% 最差情况下的性能提高了 3 倍。改进的渲染性能在需要动画和丰富过渡效果的要求严格的应用程序中至关重要,超出帧预算(分配给渲染下一帧的时间)会导致非常明显的卡顿。Wasm 有潜力消除这一问题,正如下面对比展示的 Wonderous 应用程序在我们传统的 JS 编译和 Wasm 编译下的运行情况。

img

比较 Wonderous 演示应用程序的 Javascript 与 Wasm 渲染速度。

Flutter web 应用程序的 Wasm 编译今天在稳定版中可用。要开始,请查看我们的 Dart Wasm documentation 文档和 Flutter Wasm documentation 文档。

Dart macros: 提高开发抽象级别

我们致力于提供一流的开发者体验。这意味着解决 Dart 开发者长期以来的痛点,比如序列化 JSON 数据。

这是一种普遍的模式,既琐碎又乏味。当前的解决方案意味着要么通过手动编写编码和解码样板代码来辛苦劳作,要么通过像 JsonSerializable 包这样的代码生成解决方案添加额外的工具。

今天,我们宣布了一个更好的 JSON 选项的预览:JsonCodable 宏。

宏是创建更多代码的代码。它们就像代码生成,只不过宏系统内置于 Dart 中,并且在您编辑和运行代码时实时发生。这是一个集成体验,没有延迟,完全支持我们现有的开发人员工作流程,例如热重载,正如这个屏幕录像所示:

img

屏幕录像展示了使用宏的体验:最初不存在 toJson 代码补全,但在将 @JsonCodable 添加到类之后,toJson 代码补全立即显示出来。

我们很高兴看到宏解决我们开发人员遇到的各种问题。例如,数据类是 Dart 语言中得票最高的功能。除了特定的应用程序之外,我们的最终目标是在 Dart 中拥有一个宏系统,允许用户创建自己的宏并提高 Dart 编程的抽象级别。

设计和实现这样一个强大的宏系统是一项艰巨的任务,因此目前尚未确定稳定版本的发布日期 — 有关更多详细信息,请查看 Dart 3.4 帖子。与此同时,今天尝试一下 JsonCodable 宏的预览。有关更多信息,请查看宏文档。

Flutter 游戏开发的新资源


我们看到我们在游戏方面的早期投资取得了令人鼓舞的成果,包括行业领袖如 EtermaxSupercell 的成功案例,他们都利用 Flutter 的强大和灵活性,高效地提供令人愉悦的用户体验并扩大他们的影响力。

今天,我们很高兴能够继续借助这些新资源为 Flutter 游戏开发者构建动力:

  • SoLoud audio engine 音频引擎现已推出:我们与 Flutter 社区(@Marco Bavagnoli)合作创建了一个免费且便携的音频引擎,提供低延迟、高性能的声音,对许多游戏至关重要。我们还创建了一个使用 sound and music codelab 的新声音和音乐实验室。
  • 学习如何生成交错单词的广阔纵横字谜格,而不影响用户体验,并在 Flutter 和 Flame 游戏中设计游戏机制,使用类似 Box2D 的 2D 物理模拟称为 Forge2D。
  • 优化 Flutter 基于 Web 的游戏加载速度的新指南:长时间加载是网络游戏中的一个主要障碍。按照这篇由程琳撰写的指南来优化您的加载速度,以便玩家不会因为加载速度慢而放弃您的游戏。

推动可持续游戏开发

2024 年 1 月,受到他们在使用 Flutter 时背后故事的启发,我们与全球公民合作,挑战我们的社区使用 Flutter 设计、构建和发布可持续性游戏。这些游戏旨在激励和赋予玩家为环境采取小而有意义的行动的能力。今天,我们宣布了 10 位获奖者

https://www.youtube.com/watch?v=_GgqdB9md1w

恭喜所有获奖者!

还有更多可以探索。

今天我们只有时间介绍这些内容,但还有许多令人兴奋的改进尚未涉及。以下是一些更多需要了解的内容:

  • 您可以预览 Vertex AI for Firebase Dart SDK,以在 Dart 或 Flutter 应用程序中使用 Gemini API 来实现基于人工智能的功能。该 SDK 与 Firebase App Check 集成,可保护您的 API 调用,并保护您的后端基础设施免受诸如计费欺诈、网络钓鱼和应用冒充等严重威胁。有关详细信息,请参阅我们的人工智能页面
  • 我们的下一代渲染引擎 Impeller 现在在 Android 上已经具备了全部功能。
  • Android 的预测性返回手势现在在导航到 Flutter 应用程序内部以及导航到另一个应用程序或主屏幕时都得到支持。
  • iOS 上的平台视图已经进行了性能优化,将 CPU 使用率降低了高达 50%。
  • Google 移动广告 SDK 已经扩展以支持更多的广告合作伙伴和调解选项。
  • DevTools 现在具有新的深链接验证器,可帮助您识别和排除 Android 深链接配置中的错误,从而更轻松地将 Web 体验连接到 Flutter 应用程序。
  • Dart fix,我们的 API 迁移工具,现在可以直接从 IDE 中调用。
  • DevTools 现在支持时间轴中的高级过滤和 CPU 样本。

转到 Flutter 技术文章Dart 3.4 文章,了解更多关于每个内容的详细信息,以及更多。

小结

Flutter 3.22 和 Dart 3.4 的最新更新为开发人员带来了更多性能优化和平台特定优化,使得使用 Flutter 和 Dart 构建跨平台应用程序更加高效和便捷。顶级公司已经证明了 Flutter 在提高生产力和构建高性能体验方面的能力。本文介绍了这些最新更新的关键点,并提供了相关参考网址,供开发人员深入了解和应用 Flutter 和 Dart 的最新功能。无论是开发移动应用、Web 应用还是桌面应用,Flutter 和 Dart 都将成为您的强大工具。立即了解这些更新,提升您的开发效率,为用户带来优秀的应用体验。

一如既往,我们非常感激您持续的支持、热情、热情和反馈。没有您,这个项目将不可能实现,我们迫不及待地想看到您如何继续推动 Flutter 的发展。

Flutter 结束。我们希望很快再次见到您!

感谢阅读本文

如果有什么建议,请在评论中让我知道。我很乐意改进。


flutter 学习路径


© 猫哥
ducafecat.com

end


独立开发者_猫哥
669 声望129 粉丝