BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

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

| 作者 Zef Hemel 关注 0 他的粉丝 ,译者 臧秀涛 关注 4 他的粉丝 发布于 2013年4月19日. 估计阅读时间: 4 分钟 | QCon上海2018 关注大数据平台技术选型、搭建、系统迁移和优化的经验。

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

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT