写点什么

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

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

关注

评论

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

为什么自动化测试要分层

老张

自动化测试

华为云API Explorer重磅推出API编排,开发者0代码高效构建工作流(体验用户招募中)

华为云PaaS服务小智

云计算 软件开发 华为云

大语言模型的微调与优化

百度开发者中心

#人工智能 LLM 大语言模型

专为小白打造—Kafka一篇文章从入门到入土 | 京东云技术团队

京东科技开发者

云计算 kafka 中间件 消息列队 企业号9月PK榜

Mac版本After Effects 2023怎么切换中英文UI界面

展初云

教程 Mac软件 After Effects

工业自动化:国内外常用工业组态软件

2D3D前端可视化开发

物联网 工业自动化 工业控制系统 工业组态软件 组态工具

视频剪辑中生成花字特效的代码案例详述

阿里云CloudImagine

云计算 阿里云 视频云

IoTLink版本更新V1.43.0 新增部分ERP功能:销售合同 库存管理

山东云则信息科技

物联网

在统信UOS上部署DotNet(Core)服务

为自己带盐

国产化 UOS dotnetcore

飞桨黑客马拉松第五期即刻开启报名!

飞桨PaddlePaddle

飞桨 黑客松

大模型在超算上的应用与发展

百度开发者中心

#人工智能 LLM 大模型推理 千帆大模型平台

一文了解常见的Python爬虫框架Scrapy

TiAmo

python 爬虫 Scrapy

私藏管理秘诀帮你打造高绩效团队

敏捷开发

团队管理 项目管理 Scrum 敏捷开发 高绩效团队

别学提示词:42类法大师 - 万字精华浓缩

豆哥

ChatGPT 提示词

2023中国智能产业高峰论坛丨文档图像大模型的思考与探索

热爱编程的小白白

OpenHarmony自定义构建函数:@Builder装饰器

OpenHarmony开发者

OpenHarmony

线下Meetup:在数智化转型背景下,火山引擎VeDI的大数据技术揭秘

字节跳动数据平台

大数据 数据治理 数据安全 数据研发 企业号9月PK榜

网络分析、自动化处理的强大工具

百度开发者中心

大模型训练 #人工智能 千帆大模型平台

英文版Premiere Pro怎么切换成中文?「Mac篇」

展初云

教程分享 Mac软件 Premiere Pro

支持向量机(SVM)

小魏写代码

HarmonyOS CPU与I/O密集型任务开发指导

HarmonyOS开发者

HarmonyOS

华秋供应链,让硬科技创业更简单

华秋电子

创业

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