50万奖金+官方证书,深圳国际金融科技大赛正式启动,点击报名 了解详情
写点什么

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

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

关注

评论

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

JumpServer 如何通过 SFTP 进行文件的上传下载。

coxi_vv

软件测试/测试开发 | app自动化测试(Android)-- 属性获取与断言

测试人

软件测试 自动化测试 测试开发 appium

JumpServer 用户权限体系的使用实践

coxi_vv

JumpServer 如何对接 Windows AD 域?

coxi_vv

java实现FTP下载,解决假死问题

Steven

柯里化与部分施用

SkyFire

函数式编程 柯里化 部分施用

系统运维 SysOM profiling 在云上环境的应用观测实践 | 龙蜥技术

OpenAnolis小助手

开源 cpu 系统运维 profiling 龙蜥技术

JumpServer 堡垒机对接 Elasticsearch 集群存储命令

coxi_vv

小红书2023春节消费报告

易观分析

春节 小红书 消费

为WEB3 的GameFi行业爆发提供全新动力

股市老人

高效学 C++|面向对象程序设计的思维方式

TiAmo

c++ 面向对象 设计模式

Dubbo 中 Zookeeper 注册中心原理分析

vivo互联网技术

zookeeper dubbo

如何解决纳管资产的网段与 JumpServer 后台服务器 Docker 网段重复?

coxi_vv

如何使用 SQL 语句查询 JumpServer 相关信息?

coxi_vv

电商平台的多门店产品设计要点分析

产品海豚湾

产品经理 产品设计 SaaS 产品分析 电商产品

成为技术管理者之后,我们应该做出哪些转变?

石云升

极客时间 2月月更 技术领导力实战笔记

如何使用 JumpServer 推送资产的系统用户?

coxi_vv

JumpServer 登录报错 'Request failed with status code 502'

coxi_vv

如何解决 JumpServer 连接 Linux 资产,资产乱码?

coxi_vv

机器学习之特征工程详解

九章云极DataCanvas

微博评论计算架构

Geek_7d539e

SpringBoot 如何保证接口安全?老鸟们都是这么玩的!

程序知音

Java spring 架构

亚信安慧携AntDB数据库入选信通院软件供应链厂商和产品名录

亚信AntDB数据库

数据库 AntDB AntDB数据库 企业号 2 月 PK 榜

IoTLink v1.5.0 最新公告

山东云则信息科技

物联网平台 物联网 spring-boot

优化器-RBO 的规则转化

KaiwuDB

RBO 数据库优化器

Linux 常见高危命令汇总

coxi_vv

2023年1月网约车领域月度观察

易观分析

网约车 出行

助力信创自主可控,AntDB与浪潮、超聚变完成产品互认

亚信AntDB数据库

数据库 AntDB AntDB数据库 企业号 2 月 PK 榜

“一键”模型迁移,性能翻倍,多语言AltDiffusion推理速度超快

OneFlow

人工智能 深度学习

如何修改 JumpServer 的上传文件大小的限制并修改上传文件的超时时间?

coxi_vv

JumpServer 常见问题处理

coxi_vv

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