BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Dartの M4リリースがコアライブラリを安定化

Dartの M4リリースがコアライブラリを安定化

原文(投稿日:2013/04/17)へのリンク

 

Google DartがDart SDKのマイルストーン 4をリリースした。言語は既に、以前のマイルストーンで安定化したが、このM4リリースは幾つかのコアライブラリを安定化させた。特に dart:core, dart:collectiondart:async。パフォーマンスも向上した。Dartをネイティブで動かすDartVMは、160% (DeltaBlueベンチマークで)から200% (Richardsベンチマークで)Chromeを動かしているJavaScriptエンジンのv8よりも早くなった。このリリースには、以前我々がレポートした、高速化されたdart2jsコンパイラーが含まれている。

このリリースにおけるAPIの変更のまとめ

  • Iterable.joinの区切り引数のデフォルトが null から ""になった。
  • 全てのDateTime定数が非省略になり、DAYS_IN_WEEKDAYS_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 範囲関数がリファクタリングされた。
    • List.getRangeは、endIndexを引数にとり、Iterableを返す。
    • List.setRangeは、endIndexiterableを引数にとる (プラス オプションでskipCount)。
    • List.removeRangeendIndexを引数にとる
    • List.insertRangeは削除された。
    • List.replaceRangeが追加された。
    • List.fillRange が追加された。
    • List.setAllが追加された。(厳密に言えば範囲関数ではない)。
  • Stream.hasSubscribersStream.hasListenerに名称変更
  • async:EventSinkViewが削除
  • AsyncErrorクラスが削除
  • StreamController.broadcastが削除
  • dart:htmlによってほとんどWeb Worker関連のAPIが削除された。正しいAPIがちゃんと機能するので。 Workerクラスは、そのままでJavascriptワーカーを生成する。
  • InvocationMirrorは、Invocationに名称変更。
  • Function.applyは、Symbolを名前付き引数に使用。
  • dart:mirrorは、String の代わりにSymbolを使って名前を表すようになった。

頻繁に変わるAPIは、Dart開発者にとって重荷であるが、ユーザーは重大な変更がないかメーリングリストを常によく見る必要がある。チームは、夏に1.0のリリースを予定しているが、それまではずっと重大な変更があり得る。1.0が出れば、APIの変更はずっと少なくなるだろう。これらの変更の数は、夏が近づくにつれて、減っていくものと予想される。

Dart SDK M4 リリースは、Dartウェブサイトからダウンロードでき 、Windows, Linux、Mac版がある。

 

この記事に星をつける

おすすめ度
スタイル

BT