Announcing Dart 3.6【日本語訳】

訳者 はじめに

FltuterとDartの3ヶ月ごとのバージョンアップに対してブログ記事がありますので、そちらの日本語訳をさせていたただいております。誤訳・改善点があればご連絡いただけると助かります。
Marya Belangerさんによる「Announcing Dart 3.6」(原文)の日本語訳です。Dart 3.5までMichael Thomsenさんだったけど、ライターさんが変わった。

はじめに

Dart 3.6へようこそ!本日が今年最後のリリースとなり、Flutter 3.27と同時リリースとなります。 言語の新機能である「数字区切り文字」を共有できることを嬉しく思います。また、pubエコシステムにもいくつかの新機能が追加されました。pub ダウンロード数、そして待ちに待った pub ワークスペース です!

Dart 3.6

Pub ワークスペース

Pub は現在、モノリポジトリ(またはワークスペース)内のパッケージ間の共有解決をサポートしています。ワークスペースは、開発、解決、リリースが一緒に実行される、密接に関連するパッケージのグループです。

pub ワークスペース機能により、モノリポジトリ内のパッケージが依存関係の一貫したセットを共有することが保証されます。これにより、パッケージを使用し始めたときに混乱が生じるのではなく、グループ化されたパッケージ間の依存関係の競合が「発生した時点で」解決されるようになります。

Flutterアナライザーは、以前のパッケージごとに個別のコンテキストを使用する動作とは異なり、pubワークスペース内のすべてのパッケージを単一の分析コンテキストで処理します。 大規模なリポジトリでは、これによりDart言語サーバーが消費するメモリ量が大幅に削減され、IDEのパフォーマンスが向上します。

pubワークスペースを定義するには、ルート pubspec.yaml ファイルにワークスペースフィールドを追加し、関連パッケージをリストします。次の例を参照してください。

name: _
publish_to: none 
environment:
  sdk: ^3.6.0
workspace:
  - packages/helper
  - packages/client_package
  - packages/server_package

次に、リポジトリ内のどこからでも pub get を実行して、マッピングと残りのファイル管理を完了します。

pubワークスペースを使用するには、すべてのワークスペースパッケージ(依存関係は除く)のSDKバージョン制約が ^3.6.0 以上である必要があります。

完全な詳細手順やエッジケースの適用範囲など、さらに詳しい情報については、Pubワークスペース(monorepoサポート) のページをご覧ください。

Pubのダウンロード数

pub.devのより正確な指標について、皆さまからのご要望を聞いて、ダウンロード数がここに表示されるようになりました! ダウンロード数は、個々のパッケージページにおける以前の「人気スコア」に置き換わるものです。 新しい指標とともに、各ページにはスパークラインチャートも表示され、週ごとのダウンロード数が時系列で示されます。

pub.devの新しいダウンロード数とスパークライングラフを強調したスクリーンショット

ダウンロード数についての詳細は、pub.devのスコアリングに関するドキュメントをご覧ください。

数字の区切り文字

Dart言語では、数字の区切り文字としてアンダースコア(_)を使用できるようになりました。これにより、長い数値リテラルをより読みやすくすることができます。複数の連続したアンダースコアは、より上位のグループ化を示します。以下に、Dartで有効な数字の区切り文字の使用例をいくつか示します。

1__000_000__000_000__000_000
0x4000_0000_0000_0000
0.000_000_000_01
0x00_14_22_01_23_45

数字の区切り記号は数字の間でのみ有効であることを忘れないでください。そのため、100_0._000_1、または1.2e_3のようなリテラルは許可されません。また、数字の区切り記号を一貫して使用することも重要です。そのため、数字のグループは、グループのあらゆるレベルで同じサイズであることを確認してください。

数字区切り記号を使用するには、パッケージ内の最小 SDK を 3.6.0 以上に上げる必要があります。

終わり

今日はここまでです。今期のDartチームの活動の詳細については、3.6.0の変更履歴をご覧ください。さらに詳しいアップデートについては、Flutter 3.27 リリースブログ をご覧ください。それではまた来年!