写点什么

Dart 3.1 和 Flutter 3.13 发布,你准备好抛弃 HTML 了吗?

作者 | Tim Anderson

  • 2023-09-04
    北京
  • 本文字数:1314 字

    阅读完需:约 4 分钟

Dart 3.1 和 Flutter 3.13 发布,你准备好抛弃 HTML 了吗?

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


相关阅读:


为什么说 Flutter 无法成为移动应用开发的“顶流明星”?

Google 路线图:Flutter 与 JavaScript、Wasm 集成

Flutter 和小程序容器技术的应用前景与发展潜力

移动应用架构与 React Native、Flutter 的关联

2023-09-04 08:004971

评论

发布
暂无评论
发现更多内容

Junit执行单元测试用例成功,mvn test却失败的问题和解决方法

陈磊@Criss

微服务框架 - 模块功能设计篇

superman

图解23种设计模式——前方高能,前端切图仔请务必抓好方向盘

执鸢者

typescript 大前端 设计模式

Serverless:为我们到底带来了什么

刘宇

Serverless 云原生

Maven的爱恨情仇

xcbeyond

Java maven

用Ant实现Java项目的自动构建和部署

陈磊@Criss

Swagger 这一个文章就够了

陈磊@Criss

LeetCode题解:88. 合并两个有序数组,splice合并数组+sort排序,JavaScript,详细注释

Lee Chen

大前端 LeetCode

Django的Models更新时,不触发Signals解决办法

BigYoung

django singals 信号机制 update 更新

从北京降雨的复盘中,我发现了企业SD-WAN网络的秘密

脑极体

微博基于 Flink 的机器学习实践

Apache Flink

flink

NetPerf揭示容器间是高速路还是林荫小路

陈磊@Criss

微服务框架-模块需求篇

superman

Facebook开源的数据Mock:Memisis详解

陈磊@Criss

6种快速统计代码执行时间的方法

Bruce Duan

java统计时间 currentTimeMillis nanoTime StopWatch

芯片破壁者(十二.下):青瓦台魔咒与半导体“死亡谷”

脑极体

实用心理学—没用你打我!

代码制造者

职场 职场搞笑 信息技术 人工

从实际案例讲 Deno 的应用场景

keelii

Java typescript deno

【写作群星榜】8.1~8.14 写作平台优秀作者 & 文章排名

InfoQ写作社区官方

写作平台 排行榜 热门活动

2.3.2 JDK动态代理 -《SSM深入解析与项目实战》

谙忆

Windows AD 保姆级配置NTP服务器教程

BigYoung

时间 AD ntp Windows Server 2012 R2

Flink 中的应用部署:当前状态与新应用模式

Apache Flink

flink

源码分析 | 咋嘞?你的IDEA过期了吧!加个Jar包就破解了,为什么?

小傅哥

Java 字节码插桩 asm bytebuddy

统一软件开发过程(RUP)的概念和方法

雯雯写代码

手撕二分查找及其变种,就是干!

我是程序员小贱

中本聪原始比特币论文解读:点对点的电子现金系统

韩超

比特币 区块链

为什么会是Docker?

架构精进之路

Docker

2.3.1 理解动态代理 -《SSM深入解析与项目实战》

谙忆

Vue项目起步

JackWangGeek

Vue

[修复 Webpack 官方 Bug] 提取CSS时的依赖图修正

分一

大前端 webpack 编译优化 源码刨析

重磅消息,我国数字人民币将在京津冀等具备条件地区试点

CECBC

数字货币 货币

Dart 3.1 和 Flutter 3.13 发布,你准备好抛弃 HTML 了吗?_架构/框架_InfoQ精选文章