Dartは、Googleが長年にわたって作り上げてきた数多くのプログラミング言語の1つで、Goや今後登場する言語Carbonに続くものである。Dartは当初、Web開発用のJavaScriptの代替言語として発表された後、現在ではGoogleのクロスプラットフォームアプリ開発フレームワークであるFlutterで主に使用されている。
本日、Flutter Forwardイベントにおいて、GoogleはDartの次のメジャーリリースであるバージョン3.0(今年後半にリリース予定)の計画を発表した。
2021年に、Dartはsound null safetyというアイデアを導入した。これは比較的一般的な機能だが、確立された言語に追加されるのは珍しいことだ。変数がNULLになりうるかどうかを事前に確認することで、コンパイラは最適化を行い、パフォーマンスを少しでも向上させ、コード内の潜在的なミスをキャッチしやすくすることができる。
Dart のオプション機能としてスタートしたnullセーフティだが、Dart 3で書かれたコードでは必須となる。ありがたいことに、GoogleはDart で利用可能な上位 1,000 のパッケージの98%がすでにsound null safetyをサポートするために必要なステップを踏んでおり、Dart 3に対応できるはずだという統計を発表している。
また、Dart 3では、新しい “Record”と “Patterns”を始めとする有用な新機能が導入されていることも、開発者にとっては嬉しいことだ。最も単純な例では、関数が同時に複数の値を返し、必要に応じて特定の変数に代入することが可能になる。この目標は、Dartの開発者が構造化されたデータをより効率的に扱えるようにすることだ。
Dart 3はまた、言語のFFI機能を大幅に拡張する予定だ。当初はDartのコードがCで書かれたライブラリやコードと連携する方法として提供されていたが、iOS/MacのSwiftやObjective-C、AndroidのKotlinとの相互運用をサポートするようになる。初期のサンプルアプリでは、Flutterで作られた歩数計アプリが、iOSのCore MotionやAndroidのHealth Connectをどのように呼び出せるかを見ることができる。
今回のリリースで、Googleは3つの新しいプラットフォームで動作するDartのサポートも導入している。Web開発者にとっては、特にWeb上でのFlutterの利点は、DartのコードをWebAssemblyにコンパイルして、ネイティブに近いパフォーマンスを可能にすることが間もなく可能になるはずだ。これを可能にするために、WebAssemblyはDartのようなガベージコレクション言語のサポートを得る必要があり、Chromeチームや他のWebAssemblyパートナーとの共同作業で数ヶ月を要している。
Dart 3は、新世代のRISC-Vアーキテクチャをサポートする最初のバージョンとなり、Flutterアプリがそのようなデバイス上でも動作するようにすることを意図している。これはGoogleのRISC-Vに対する幅広い取り組みの反映であり、Androidは新しいハードウェアのサポートに積極的に取り組んでいる。Windows側では、Dart 3はARMデバイス上のWindowsのサポートも含む予定だ。
Googleは、Dart 3のリリース時期について、今年後半になることを確認したのみで、正確なスケジュールを明らかにしなかった。とはいえ、開発者は、”dev” ビルドを直接インストールするか、Flutterの”master” チャンネルに切り替えることで、本日よりDart 3のアルファ版を試す事ができる。
Source
コメントを残す