准备好抛弃 HTML 了吗?Dart 3.1 和 Flutter 3.13 发布
Dart 3.1 发布了,这是继 5 月份 3.0 发布之后的第一个稳定版本,同时发布的还有谷歌跨平台应用程序框架 Flutter 的最新版本 3.13。虽然 3.0 是一次重大更新,但开发团队主要关注的还是未来的特性,比如正在进行的对 Wasm(WebAssembly)的支持。
3.1 的更新日志很简短,但也有一些破坏性的变化。不同于 5 月份在 Google I/O 大会上推出的 3.0,那个版本增加了对记录类型、模式匹配、密封类的支持,并增加了新的类修饰符(如 final、interface 和 base)。按照谷歌产品经理 Michael Thomsen 的说法,Dart 3.0 还完成了该语言向“100% 空值安全”的演变。
谷歌技术作家 maria Belanger 在 Dart 3.1 的公告中写道,团队大部分时间都“花在新的路线图工作项上了,我们希望它们能够进入 Beta 版,并在接下来的版本中稳定下来”。不过,她的文章重点介绍了如何利用 Dart 3.0 中支持函数式编程的新特性。
Dart 是一种不同寻常的语言,因为它与谷歌的跨平台应用程序框架 Flutter 紧密联系在一起。Flutter 支持移动、桌面(Windows、macOS 和 Linux)和 Web 平台。而其 Web 功能是通过将 Dart 编译为 JavaScript 实现的。与 Dart 3.1 同时发布的是 Flutter 3.13,这是最新的季度稳定本。
根据项目技术经理 Kevin Chisholm 的说法,得益于 Impeller(一个在移动平台上逐步取代 Skia 的渲染运行时)的改进,Flutter 3.13 在 iOS 上的图形绘制速度更快了。Chisholm 表示:“在我们的 Flutter/gallery 转换性能基准测试中,其平均帧栅格化时间现在大约是 Skia 的一半。Impeller 在 Android 平台上的渲染质量仍然不高,但 Chisholm 希望今年晚些时候能推出预览版。此外,Impeller 现在也在 macOS 上预览。
Flutter 的其他更新包括更强的平台适应性和用于 Material Framework(Flutter GUI)的新功能。
那么 Dart 团队关注的新特性是什么呢?其中之一是对 Wasm 的支持。该特性目前尚处于预览阶段,浏览器支持有限,因为它依赖于一个名为 WasmGC 的特性,而该特性尚未广泛使用。
Wasm 对于 Flutter 和 Dart 非常重要,因为它为基于浏览器的应用程序提供了一种与众不同的方法。Flutter 团队在一个备受关注的关于服务器端渲染的请求中指出:“我们把 Flutter 看作是第一个以 WebGL 和 Wasm 为目标而抛弃 HTML 的全新框架。”Flutter 的 Web 渲染器包括 HTML 和 CanvasKit 选项,其中 CanvasKit 使用 WebGL 绘制 Flutter GUI,而不是使用 HTML 组件。
这很容易让我们想起 Adobe Flash(和 Microsoft Silverlight),它们也有类似的替代 HTML 的目标。在 2010 年发表的一篇关于 Flash 的文章中,苹果当时的首席执行官史蒂夫·乔布斯说:“苹果没有使用 Flash,而是采用了 HTML5、CSS 和 JavaScript——全都是开放标准。”这为 Flash 敲响了丧钟。与 Flash 或 Silverlight 不同,Wasm 是一个开放标准。
然而,基于文本的 HTML、CSS 和 JavaScript 被 Wasm blobs 取代的想法有明显的缺陷——比如“查看源代码”将不再是一个有用的调试工具。
原文链接:
https://devclass.com/2023/08/18/dart-3-1-and-flutter-3-13-released-getting-ready-to-leave-html-behind
声明:本文为 InfoQ 翻译,未经许可禁止转载。
比 GitHub Copilot 更强大?Meta 开源 AI 编码工具,能跨多语言补全和调试代码
大厂公敌“李跳跳”无限期停止更新;国产集成开发环境工具 CEC-IDE 引关注;华为辟谣网传3.2万名科学家正式移籍 | Q资讯
微信扫码关注该文公众号作者