「Dart 3」が来年登場。完全Nullセーフな言語となり、Nullセーフティなしの実行はサポート外に

2022年12月27日

アプリケーションフレームワーク「Flutter」で使われているプログラミング言語「Dart」の開発チームは、来年(2023年)半ばにメジャーバージョンアップとなる「Dart 3」のリリースを予定していると発表しました

Dart 3では、Dart 2.12から導入し始めたNullセーフを全面的に取り入れたものになると、次のように説明されています。

Our next release, Dart 3, completes the journey to a fully sound null safe language. As the last step of that journey, we’re removing several historical Dart language and SDK artifacts, including removing support for running without sound null safety. This makes Dart easier to learn, and enables us to evolve the Dart SDK to support new features with greater speed.

次のリリースであるDart 3では、完全に健全なNullセーフ言語への道程が完了します。この道程の最後のステップとして、Dart言語とSDKのこれまでの成果物のいくつかを削除し、健全なNullセーフティなしの実行はサポート外とします。これによりDartの学習が容易になり、Dart SDKを進化させて新機能をより迅速にサポートすることが可能になるのです。

Dart 3が完全なNullセーフ言語になる理由として、Dart開発チームはモダンなプログラミング言語はNullセーフティであり、例えばSwiftやC#やKotlinにはNull値を持たない非Null型の型を備え、これによりこれまで多くのバグを生んできたNull参照の間違いを防ぐようにしていると指摘。

Dartでもこれを取り入れて、変数はデフォルトではNull値を持たないようにしており、明示的に宣言した場合のみNull値を持つことができます。

そして健全なNullセーフティでは、非Nullな変数は絶対にNull値を持たないことが約束されるとのことです。

現在のDartでは過去の互換性を考慮し、Nullセーフティなし、部分的Nullセーフィティ、完全に健全なNullセーフティの3つのモードを選択してアプリケーションを実行できるようになっています。

これがDart 3ではNullセーフティのみがサポートされる予定です。

Dart開発チームは、すでにFlutterアプリケーションの85%程度がNullセーフティになっているとしており、残りの15%に該当するアプリケーションについては、Dart 3の前にNullセーフティにマイグレーションするように勧めています。

あわせて読みたい

プログラミング言語 Dart Flutter Google




タグクラウド

クラウド / AWS / Azure / Google Cloud
コンテナ / Docker / Kubernetes
クラウドネイティブ / サーバレス
クラウド障害 / 運用・監視

プログラミング言語 / 開発ツール
JavaScript / Java / .NET / WebAssembly
HTML/CSS / Web標準

アジャイル開発 / スクラム / DevOps / CI/CD
ソフトウェアテスト・品質
ローコード/ノーコード開発

データベース / RDB / NoSQL / 機械学習・AI
Oracle Database / MySQL / PostgreSQL
Office / 業務アプリケーション

ネットワーク / HTTP / QUIC / セキュリティ
OS / Windows / Linux / VMware
ハードウェア / サーバ / ストレージ

業界動向 / 働き方 / 給与・年収
編集後記 / 殿堂入り / おもしろ

全てのタグを見る

Blogger in Chief

photo of jniino

Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。
詳しいプロフィール

Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで : Feed

最新記事10本