写点什么

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

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

关注

评论

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

掘金万亿新IT服务大市场,联想智慧服务核心能力持续跃升

科技大数据

Vue进阶(幺肆肆):(window,parent,opener,top).location.reload方法分析

No Silver Bullet

Vue 页面刷新 10月月更

Vue进阶(幺肆伍):Vue-elementUI实现操作栏位更多效果

No Silver Bullet

Vue 10月月更

Groovy动态添加方法和属性及Spock单测

FunTester

Java 动态 spock Groovy FunTester

2021年Android春招面试经历,阿里秋招面试真题解析

android 程序员 移动开发

2020-2021蚂蚁金服Android面试真题解析,使用指南

android 程序员 移动开发

2021年Android高级面试题,成功入职字节跳动

android 程序员 移动开发

2021最值得加入的互联网公司有哪些,阿里三面

android 程序员 移动开发

全球6G专利独占4成,中国能否借此“制霸”元宇宙?

海比研究院

2021年字节跳动+京东+美团面试总结,查漏补缺

android 程序员 移动开发

2021年来看看Android的发展,程序员如何应对中年危机

android 程序员 移动开发

DeFi流动性挖矿系统开发资料(源码)

Python代码阅读(第43篇):构造组合函数

Felix

Python 编程 Code Programing 阅读代码

4面阿里拿到P7Offer,Android开发指南

android 程序员 移动开发

2021年大厂程序员进阶宝典,flutter面试题

android 程序员 移动开发

2021年大厂程序员进阶宝典,真是经典中的经典

android 程序员 移动开发

在 pygame 中好好玩玩精灵,滚雪球学 Python 游戏番

梦想橡皮擦

10月月更

Defi挖矿系统开发简介(现成案例)

阿里云边缘云ENS再升级 产业数字化落地向何方?

阿里云Edge Plus

2021年大厂程序员进阶宝典,Android开发基础面试题

android 程序员 移动开发

2021最新Android常用开源库总结,retrofit源码

android 程序员 移动开发

2021最新中高级Android面试题目,2021必看

android 程序员 移动开发

2021高级Android笔试总结,帮你解决95%以上的问题

android 程序员 移动开发

Apache APISIX 助力有赞云原生 PaaS 平台,实现全面微服务治理

API7.ai 技术团队

云原生 PaaS API网关 Apache APISIX

2021年Android程序员职业规划,Android开发技巧

android 程序员 移动开发

2021年GitHub上那些优秀Android开源库总结,花2万块买的教程

android 程序员 移动开发

揭开MySQL Volcano模型迭代器性能提升千倍的秘密

华为云开发者联盟

MySQL 数据库 华为云数据库 MySQL Volcano 模型迭代器

DeFi智能合约DAPP系统开发公司(现成)

第 22 章 -《Linux 一学就会》- 跳出循环-shift参数左移-函数的使用

学神来啦

Linux linux运维 linux云计算 linux一学就会

解密诡异并发问题的幕后黑手:可见性问题

华为云开发者联盟

并发编程 线程 并发 可见性 单核CPU

2021年Android大厂面试分享,实战篇

android 程序员 移动开发

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