GoogleのDart2.2言語の新機能

GoogleのDart言語は、かつてブラウザでJavaScriptの潜在的な代替として位置付けられていましたが、2018年8月のDart 2のリリースにより、クライアント側のWebおよびモバイル開発用に再起動されました。Dart2.2が利用可能になりました。

Dart 2は、強化された型システム、クリーンアップされた構文、および再構築された開発者ツールチェーンを備えています。Dartの構文は簡潔で、ジャストインタイムコンパイラを使用してVMで実行できます。コンパイラは、モバイル開発中にステートフルなホットリロードを有効にします。

開発者は、デバイス上で実行されているアプリでコードを編集、コンパイル、および置換できる高速な開発サイクルからも利益を得ることができます。グーグルによると、事前にコードをコンパイルすることで、起動が速くなるという。

Dartは、ARMおよびx86プラットフォーム用のネイティブコードにコンパイルできます。Googleはこの言語を使用して、iOS、Android、およびWeb用のアプリケーションを構築しました。

Dart2をダウンロードする場所

Dart2の製品版はdartlang.orgからダウンロードできます。

新しいバージョン:Dart2.2の新機能

2019年2月にリリースされたDart2.2。静的呼び出しのオーバーヘッドを削減することにより、事前(AOT)コンパイル済みネイティブコードのパフォーマンスを向上させます。最適化されたコードは、PC相対呼び出しを使用して宛先を直接呼び出すことができるようになりました。以前は、宛先アドレスを決定するために、オブジェクトプールを何度か検索する必要がありました。最適化は、ウィジェットを作成するFlutter UIコードなど、コードにコンストラクターと静的メソッド呼び出しが多数ある場合に特に役立ちます。

Dart2.2のその他の新機能は次のとおりです。

  • リテラルはセットをサポートするように拡張され、便利な新しい構文を提供します。セットは順序付けられていない値のコレクションであり、各値は1回だけ発生し、開発者は値がセットに含まれているかどうかを確認できます。以前は、リテラル構文はリストとマップのみをサポートしていました。
  • 言語仕様が更新されました。

以前のバージョン:Dart2.1の新機能

2018年11月のDart2.1アップデートは、コードサイズの縮小、タイプエラーの使いやすさの向上、タイプチェックの高速化、ユーザーエクスペリエンスを構築する際の生産性を向上させる機能を備えています。コードサイズとコンパイル時間は、Web展開用に拡張されました。Dartプロジェクトチームは、Dart-to-JavaScriptコンパイラであるDartjsの出力サイズに焦点を合わせました。彼らは、サンプル実験で、縮小された出力サイズが17%減少し、コンパイル時間が15%改善したと報告しています。

サポートint-to-double変換が、一方、整数サイレントとして評価される必要がある場合ダート2.1推論できることを意味double値。DartとFlutterモバイルツールキットのプロダクトマネージャーであるGoogleのMichaelThomsenは、APIがを期待しているときにFlutter開発者が分析エラーにつまずくことが多いと述べましたdoubleが、開発者はを指定していますint。新しい変換機能により、混乱が解消されます。

Dart2.1のその他の新機能は次のとおりです。

  • Dart 2.0では不完全だったコンパイル時の型チェックは、2.1リリースで完了しました。以前の不完全さは、ユーザビリティの問題を引き起こした可能性があり、エラーを生成せずに不正なソースコードをコンパイルできた可能性があります。
  • AOTでコンパイルされたコードとJITコンパイルを使用してVMで実行されているコードの型チェックのコストが削減されました。これは、Flutter開発者のパフォーマンスを向上させるのに役立つはずです。
  • ミックスインmixinとしてのみ使用できるクラスを定義するためのキーワードを使用して、ミックスインの新しい構文が導入されました。また、ミックスインはObject、スーパークラス以外のクラスを拡張 し、メソッドを呼び出すことができるようになりました。

Thomsenはまた、Dartユーザーが2019年に見る可能性のあるものを垣間見ることができました:

  • マルチコアプロセッサのサポートの改善や、ダウンロード時間と起動時間を改善するためのコードサイズのさらなる削減など、パフォーマンスの向上。
  • 定数式の改良と新しいSetリテラルのサポート。
  • ウィジェットリストの条件文、オブジェクトのコレクションを他のオブジェクトに拡張する、セミコロンでステートメントを終了する必要性を排除するなど、UIの構築を支援するためのさらなる最適化。

以前のバージョン:Dart2.0の新機能

2018年8月にリリースされたDart2.0は、開発者がビジネスロジックに集中できるようにしながら、定型文を減らすことを目的とした言語、フレームワーク、およびコンポーネントを提供します。また、プラットフォームの一部は、エラーを早期に特定し、小さくて迅速なランタイムコードを提供するためのツールです。Dartバージョン2は、次の3つの領域に焦点を当てています。

  • 言語の強化と強化。
  • Webおよびモバイルフレームワークのサポートを構築します。
  • Googleによる言語の使用をサポートするツールとコンポーネントを外の世界に拡張します。

Dart2.0の新機能は次のとおりです。

  • 強いタイピングにより、バグを早期に発見し、品質を向上させ、大規模なチームによって構築されたアプリケーションを改善します。Dart 2の型システムは、開発サイクルの早い段階でより多くのエラーをキャッチします。
  • 型推論は、フィールド、メソッド、ローカル変数、および最も一般的な型引数に対して提供されます。
  • コアSDKには、最新のブラウザーAPIにアクセスするためのライブラリがあります。
  • Angularフレームワーク自体に触発されたAngularDart5Webフレームワークが含まれています。
  • Dartパッケージサイトと連携するパッケージマネージャーを備えたDartSDK。また、静的アナライザー、リンター、およびWebドキュメントとコードフォーマット用のツールも備えています。
  • 日付、時刻、Googleマテリアルコンポーネントを含む100の新しいクラスへのアクセス。
  • Dart Code Extensionによる、MicrosoftのVisual StudioCodeエディターのサポート。
  • DartPadスクラッチパッドアプリケーションがDart2用に更新されました。
  • UIをコードとして定義し、UIマークアップ言語とプログラミング言語の間でコンテキストを切り替える必要性を減らします。
  • この言語には、dart:htmlおよび完全なWebフレームワークなどのWeb固有のライブラリがあります。