Data+AI时代,如何打造下一代数智平台? 了解详情
写点什么

Dart 的第 4 个里程碑版本发布 核心类库已经稳定

  • 2013-04-18
  • 本文字数:991 字

    阅读完需:约 3 分钟

Google 的 Dart 团队发布了 Dart SDK 的第4 个里程碑版本(即M4)。之前的里程碑版本中Dart 语言已经稳定下来,而M4 版本使一些核心类库稳定了下来,特别是dart:core、dart:collection 和dart:async。性能也有所改进。DartVM 负责原生运行Dart 代码,相对于Chrome 中的JavaScript 引擎 v8 ,它的速度提高在 160%(DeltaBlue 基准测试)到 200%(Richards 基准测试)之间。该版本也带来了速度更快的 dart2js 编译器,我们之前也做过报道

该版本中的 API 变更总结如下:

  • Iterable.join 中的分隔符参数默认值由 null 改为""。
  • 所有的 DateTime 常量都改为非缩写形式,DAYS_IN_WEEK 改为 DAYS_PER_WEEK。
  • 移除了以下弃用的类和方法:
    • CollectionSink
    • Stream.pipeInto
    • Iterable/Stream.max/min
    • Collection(List、Set 和 Queue 现在直接继承 Iterable)
    • Datetime.</<=/>/>=
    • IOSink.writeStream(重命名为 IOSink.addStream)
    • IOSink.writeBytes(重命名为 IOSink.add)
    • StreamSink(重命名为 EventSink)
  • 引入了不需要初始值的 Iterable.reduce Stream.reduce。
  • 重构了 List 的 range 相关函数:
    • List.getRange 接收一个 endIndex 参数,返回 Iterable
    • List.setRange 接收一个 endIndex 参数和一个 iterable 参数(还添加了一个可选的 skipCount 参数)
    • List.removeRange 接收一个 endIndex 参数
    • 移除了 List.insertRange
    • 添加了 List.replaceRange
    • 添加了 List.fillRange
    • 添加了 List.setAll(不严格地讲,这也算一个 range 函数)
  • Stream.hasSubscribers 重命名为 Stream.hasListener
  • 移除了 async:EventSinkView。
  • 移除了 AsyncError 类。
  • 移除了 StreamController.broadcast。
  • dart:html 中 Web Worker 相关的大部分 API 都已移除,同时设计了更合适的 API。Worker 类仍然保留,用于派生 Javascript worker。
  • InvocationMirror 重命名为 Invocation。
  • Function.apply 将 Symbol 用作具名参数。
  • dart:mirror 现在用 Symbol 代替了 String,来表示名字。

API 变化频繁,这是目前使用 Dart 进行开发所面临的主要挑战之一,因为用户需要紧盯着邮件列表中的破坏性更改。Dart 团队准备在今年夏天发布1.0 版本,可能还会加入破坏性更改。一旦到了1.0 版本,API 就不会这么频繁地变化了。随着夏天的临近,这种变化的数目有望减少。

Dart SDK M4 可以从 Dart 的网站下载,支持 Windows、Linux 和 Mac。

查看英文原文 Dart’s M4 Release Stabilizes Core Libraries

2013-04-18 08:571421
用户头像
臧秀涛 略懂技术的运营同学。

发布了 300 篇内容, 共 143.3 次阅读, 收获喜欢 35 次。

关注

评论

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

一个基于 SourceGenerator 生成 从 dbReader转换为 class 数据的性能测试实验

八苦-瞿昙

C# dotnet csharp

SourceGenerator 生成db to class代码优化结果记录

八苦-瞿昙

dotnet

探索一下 Enum 优化

八苦-瞿昙

dotnet

万界星空科技:智能称重打标系统

万界星空科技

mes 电子称重系统 万界星空科技 称重打标 称重

如何使用贝锐花生壳DDNS,实现OA、ERP、CRM等办公系统远程访问?

贝锐

远程运维

百度智能云千帆 ModelBuilder 大模型服务及开发解读

Baidu AICLOUD

LLMOps LMops

大模型时代,云原生数据底座的创新和实践

Baidu AICLOUD

数据库 大数据

尝试让查询更简单

八苦-瞿昙

dotnet

弘扬传统文化,百度百科AI非遗馆亮相中国非物质文化遗产博览会

极客天地

解锁用户体验的深层法则:从定律到卓越设计的实践之旅

inBuilder低代码平台

UX 用户体验

扬帆出海!九章云极DataCanvas公司惊艳亮相迪拜GITEX Global 2024

九章云极DataCanvas

9岁小学生、51岁退休阿姨闯入百度英伟达AI大赛

极客天地

朋友吐槽我为什么这么傻不在源生成器中用string.GetHashCode, 而要用一个不够优化的hash方法

八苦-瞿昙

dotnet

让查询可以使用 json path

八苦-瞿昙

dotnet

Mysql中常用函数 分组,连接查询

不在线第一只蜗牛

MySQL 数据库

SourceGenerator 生成db to class代码优化结果记录 二

八苦-瞿昙

dotnet

从循序渐进转型到AI创新探索,天顺风能数智化走稳每一步

用友BIP

亮相QCon2024,火山引擎边缘云揭秘云原生操作系统与HTTPDNS技术实践

火山引擎边缘云

云原生 边缘计算 DNS 云 原生云 CTO #DNS

“好房子”的智能化探索,华为和保利为行业做了示范

Alter

李彦宏眼中的AI之路:泡沫不可避免,要成为1%

脑极体

AI

通义灵码上线一周年:超 600 万下载量,国内用户规模第一,新功能有奖测评

阿里云云效

阿里云 云原生 通义灵码

高清图解28个高并发之数据结构/数据结构场景匹配技巧分析(高并发精通篇三)

肖哥弹架构

Java 容器 数据结构

c#12 实验特性Interceptor如何使用的一个简单但完整的示例

八苦-瞿昙

dotnet

Kubernetes 节点问题可观测最佳实践

观测云

Kubernetes

敏捷工具助力团队高效运作实践

顿顿顿

Scrum 敏捷开发 敏捷管理 敏捷项目管理

鸿蒙应用示例:记录小规模真机内测方案

zhongcx

使用ETL进行数据接入的方式

RestCloud

ETL 数据集成 数据接入 数据同步工具

用友BIP超级版:成都公交数智化的核心引擎

用友BIP

Dart的第4个里程碑版本发布 核心类库已经稳定_语言 & 开发_Zef Hemel_InfoQ精选文章