写点什么

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:571232
用户头像
臧秀涛 略懂技术的运营同学。

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

关注

评论

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

Ark UI 中的问题汇总【系列 2】

坚果

HarmonyOS OpenHarmony Open Harmony 7月月更

微服务与Kubernetes容器云的边界

穿过生命散发芬芳

微服务 7月月更

读书笔记之数据密集型应用的可靠性

宇宙之一粟

读书笔记 7月月更

shell脚本定时备份mysql数据库

乌龟哥哥

7月月更

小程序容器对工业互联网平台建设的加速的体现

Geek_99967b

小程序

【萌新解题】两数之和

面试官问

LeetCode 哈希表 两数之和

到底应不应该使用 lombok

HoneyMoose

iOS 中的 Protocol

NewBoy

ios 前端 移动端 iOS 知识体系 7月月更

动态广播发送流程

北洋

android 7月月更

redis安装

想要飞的猪

重温算法之颜色分类

自由

算法刷题 7月月更

查找——顺序表的查找和有序表的查找

乔乔

7月月更

Istio整体架构解析

阿泽🧸

istio 7月月更

浅入浅出Mybatis(二)

ES_her0

7月月更

zookeeper-认识zookeeper

zarmnosaj

7月月更

密码密钥硬编码检查

Tom(⊙o⊙)

密码 软件安全 信息泄露 静态代码检查 密钥管理

LeetCode第二题,裂开了..

为自己带盐

LeetCode 7月月更

深入浅出 eBPF|你要了解的 7 个核心问题

阿里巴巴云原生

阿里云 云原生 k8s ebpf

分布式——Maven多模块管理

Java学术趴

7月月更

接口测试进阶接口脚本使用—apipost(预/后执行脚本)

Xd

接口测试

普通二本院校如何从所谓的从寒冬破冰?

KEY.L

7月月更

斐波拉契数最小步数与合法括号序列判断

未见花闻

7月月更

jQuery

Jason199

jquery js 7月月更

企业级容器安全风险与最佳实践

明亮安全观

网络安全 安全架构 容器安全

自定义spring boot starter三部曲之一:准备工作

程序员欣宸

spring springboot 7月月更

新星计划Day5【数据结构与算法】 链表

京与旧铺

7月月更

解读《深入理解计算机系统(CSAPP)》第8章异常控制流

小明Java问道之路

操作系统 异常 csapp 异常机制 7月月更

3000字11张图硬核科普:什么是边缘计算?与云计算有什么联系和区别?

wljslmz

云计算 边缘计算 7月月更

【Docker 那些事儿】关于Namespace隔离机制的奥秘

Albert Edison

Docker Kubernetes 容器 云原生 7月月更

Ceph分布式存储初步认识(一)

Lansonli

私有云 Ceph 云存储 7月月更

记一次uniapp的经历

是乃德也是Ned

uni-app 7月月更

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