採用に向く条件
選ぶ理由
- Flutter で iOS/Android/Web/Desktop を一括
- null 安全・ホットリロードで開発が速い
- AOT で高速なネイティブ実行
プログラミング言語
Google / 2011年登場
Google 製のクライアント最適化言語。Flutter の言語として、1 つのコードから iOS/Android/Web/デスクトップ アプリを作れる。
基本情報
選定ガイド
採用する理由と、事前に受け入れるべきトレードオフを分けて確認します。
採用に向く条件
事前に確認する条件
向いている用途
詳しい解説
Dart は Google が 2011 年に公開した、クライアント開発に最適化された言語です。当初は JavaScript の代替を狙っていましたが、現在は UI フレームワーク Flutter の公式言語として位置づけが定まりました。文法は Java や JavaScript の経験者になじみやすく、静的型付けを基本とします。
Flutter と組み合わせると、1 つの Dart コードベースから iOS・Android・Web・デスクトップ向けアプリを生成できます。UI を「ウィジェットのツリー」として宣言的に記述し、プラットフォームごとに書き分ける手間を大きく減らせます。
横にスクロール
? が付くかで null 許容を区別し、null 由来のクラッシュをコンパイル時に防ぐ。String name = 'Tech'; // null にできない
String? note; // null を許容(? が必須)
print(note?.length); // note が null ならアクセスしない
| 観点 | Dart / Flutter | React Native | ネイティブ個別 |
|---|---|---|---|
| UI 描画 | 自前描画で統一 | OS 部品をブリッジ | 各 OS 純正 |
| コード共有 | 1 コードで多 OS | 多くを共有 | 共有しにくい |
| 言語 | Dart | JavaScript/TS | Swift / Kotlin 等 |
| 強み | 見た目の統一・高速描画 | Web 資産・普及 | 最良の適合性 |
型に ? が付くか否かで扱いが変わるため、null 安全の規則に慣れるまでコンパイルエラーに悩みがちです。また UI を状態から宣言的に組み立てるウィジェット指向は、命令的な UI に慣れた人には発想の転換が要ります。実質的に Flutter とほぼ一体で採用されます。
総じて Dart は、JIT/AOT の二段構えと null 安全を備え、Flutter と一体でマルチプラットフォームのアプリ開発を支える言語です。
言語選定
TL;DRは入口です。実際に選ぶ・使う段階では、何を解決するか、何と比較するか、導入後にどこで詰まるかまで見る必要があります。
モバイルアプリ(Flutter)
型付け: 静的・強い型付け(null 安全) / 実行方式: AOT / JIT コンパイル(+ JS) / パラダイム: オブジェクト指向
null 安全・ホットリロードで開発が速い
ほぼ Flutter 専用に近い
最初の一歩
void main() {
print("Hello, World!");
}公式ドキュメント