在 2025 收官前,看清 Data + AI 的真实走向,点击查看 BUILD 大会精华版 了解详情
写点什么

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

评论

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

🍃【Spring专题】「实战系列」重新回顾一下异常重试框架Spring Retry的功能指南

码界西柚

spring 11月日更 Spring retry Guava retry

搞定大厂算法面试之leetcode精讲1.开篇介绍

全栈潇晨

算法面经

Prometheus Exporter (三)容器信息监控

耳东@Erdong

container Prometheus exporter 11月日更 cAdvisor

Prometheus 都可以采集那些指标?-- 常用 Exporter 合集

耳东@Erdong

内容合集

自动驾驶 传感器和计算硬件 易筋 ARTS 打卡 Week 76

John(易筋)

ARTS 打卡计划 arts

Redis 实现限流的三种方式

大数据技术指南

11月日更

模块四作业:千万级学生管理系统的考试试卷存储方案

dean

架构实战营

[Pulsar] ChunkMessageID介绍及其原理

Zike Yang

Apache Pulsar 11月日更

CSS架构揭秘之Ant design

Augus

CSS 11月日更

.NET6新东西--Lambda优化

喵叔

11月日更

数据库版本控制中间件flyway企业落地

小鲍侃java

11月日更

Hive数据抽样与存储格式详解

五分钟学大数据

11月日更

基于海思Hi3559A或者Atlas_200模块,Hi3559A(主)+Atlas_200(从)开发AI加速边缘计算主板的三种模式

Todd Wong

人工智能 深度学习

Go语言学习查缺补漏ing Day2

Regan Yue

Go 语言 11月日更

dart系列之:dart中的异步编程

程序那些事

flutter dart 程序那些事 11月日更

Go 的 Panics 处理

baiyutang

golang 11月日更

别被你的框架框住了

Teobler

angular.js 大前端 React 框架 编程范式

【架构实战营】模块四

衣谷

架构实战营

面试必备(背)--Go语言八股文系列!

微客鸟窝

Go 语言 八股文 11月日更

Python Qt GUI设计:QLabel标签类(基础篇—11)

不脱发的程序猿

Python PyQt GUI设计 QLabel标签类

Android C++系列:Linux文件系统(二)

轻口味

c++ android jni 11月日更

网络安全—如何从IP源地址角度,预防DDoS攻击?

郑州埃文科技

【LeetCode】最长和谐子序列Java题解

Albert

算法 LeetCode 11月日更

【Redis集群原理专题】(1)介绍一下常用的Redis集群机制方案的原理和分析

码界西柚

集群 redis cluster redis sentinel 11月日更

自定义View:如何手写ViewGroup实现ListView效果

Changing Lin

11月日更

参与tdengine开源的方式

williamcai

fork git 学习

前端开发:VS Code编辑器新建Vue文件自定义模板的方法

三掌柜

11月日更

【Flutter 专题】03 图解第一个程序 Hello World!

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 11月日更

通过USB接入双目UVC协议外接人脸比对相机实现1:1比对开发

Todd Wong

数字化办公

十分钟搞懂WebAssembly

俞凡

Wasm

【死磕Java并发】-----Java内存模型之总结

chenssy

11月日更 死磕 Java 死磕 Java 并发

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