【AICon】AI 基础设施、LLM运维、大模型训练与推理,一场会议,全方位涵盖! >>> 了解详情
写点什么

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:004816

评论

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

程序员女友给我做了一个疲劳驾驶检测

华为云开发者联盟

人工智能 疲劳驾驶检测

实践GoF的23种设计模式:装饰者模式

华为云开发者联盟

开发 对象 装饰者模式

NLP 论文领读|文本生成模型退化怎么办?SimCTG 告诉你答案

澜舟孟子开源社区

人工智能 自然语言处理 机器学习 nlp 文本生成

HashMap分析-扩容

zarmnosaj

6月月更

为什么越来越多的人选择云渲染?

Finovy Cloud

服务器 渲染 云渲染

为什么一定要从DevOps走向BizDevOps?

阿里云云效

阿里云 DevOps 研发 BizDevOps

做一个 Scrollbar 的思考

cssghost

盘点华为云GaussDB(for Redis)六大秒级能力

华为云开发者联盟

数据库 后端 华为云

ElasticSearch从入门到精通:数据导入

Jackpop

居家办公没有“血泪史”| 社区征文

穿过生命散发芬芳

居家办公 6月月更 初夏征文

“信任机器”为发展赋能

CECBC

Rust 如何实现依赖注入?

非凸科技

依赖注入 Trait 对象 编程语言‘ public

全技术栈、全场景、全角色云原生系列培训重磅首发,助力企业打造硬核云原生技术团队

York

容器 云原生 IT建设 技术培训 开发运维

毕业设计

ASCE

激发新动能 多地发力数字经济

CECBC

攻防演练中的防泄露全家福

穿过生命散发芬芳

6月月更 防泄露

远程办公期间,项目小组微信群打卡 | 社区征文

IT蜗壳-Tango

6月月更 初夏征文

ElasticSearch从入门到精通:基础知识

Jackpop

ElasticSearch从入门到精通:Logstash妙用

Jackpop

元宇宙可能成为互联网发展的新方向

CECBC

Windbg调试工具介绍

dvlinker

c++ windbg 调试工具

数字货币:影响深远的创新

CECBC

实例详解C++程序的五大内存分区

dvlinker

c++ 堆内存 栈内存 内存分区 全局内存

如何使用物联网低代码平台进行服务管理?

AIRIOT

低代码 物联网 低代码开发平台 低代码,项目开发

开源实习经验分享:openEuler软件包加固测试

openEuler

开源 操作系统 部署 openEuler 实习

使用GDIView工具排查GDI对象泄漏问题

dvlinker

c++ GDIView GDI对象泄露

设计电商秒杀系统

流火

全文手敲代码,教你用Java实现扫雷小游戏

华为云开发者联盟

Java

ElasticSearch从入门到精通:常用操作

Jackpop

学习总结

ASCE

C++函数调用栈分布详解

dvlinker

c++ 函数调用 汇编代码 栈分布

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