【ダート】

Dart(ダート) とは?

💡 Flutterの相棒、1つのコードでどこでも動く万能選手
📌 このページのポイント
Dart + Flutter のマルチプラットフォーム展開 Dart 1つのコードベース Flutter Framework iOS AOTコンパイル Android AOTコンパイル Web JS変換 Windows ネイティブ macOS ネイティブ 開発時→ JIT + ホットリロード 本番時→ AOT で高速実行
Dart + Flutter によるマルチプラットフォーム展開のイメージ
ひよこ ひよこ

DartってJavaScriptの代わりになるの?

ペンギン先生 ペンギン先生

当初はそういう目標もあったけど、今はFlutterとセットで使う言語として大人気だよ。JavaScriptを置き換えるというよりは、独自のポジションを確立した感じだね

ひよこ ひよこ

FlutterってDart以外の言語では使えないの?

ペンギン先生 ペンギン先生

Flutterは Dart 専用だよ。逆に言えば、DartとFlutterは一心同体で最適化されているから、ホットリロードで変更が即座に画面に反映されるといった快適な開発体験が実現できるんだ

ひよこ ひよこ

ホットリロードってそんなに便利なの?

ペンギン先生 ペンギン先生

コードを書き換えたらアプリを再起動せずに0.5秒くらいで画面に反映されるよ。UIの微調整を何十回も繰り返すモバイル開発では、これだけで開発速度が何倍にもなるんだ

ひよこ ひよこ

おもしろい!DartってJavaScriptTypeScriptと比べてどうなの?

ペンギン先生 ペンギン先生

構文はJavaC#に近くて型安全。null safetyが言語レベルで組み込まれているから、よくあるnullエラーをコンパイル時に防げるよ。Web向けにはJavaScriptにトランスパイルもできるんだ

ひよこ ひよこ

Dartだけ覚えればどのプラットフォームでも開発できるってこと?

ペンギン先生 ペンギン先生

Flutter経由でiOSAndroid・Web・Windows・macOS・Linuxに対応しているよ。ただしプラットフォーム固有の機能を使うときはネイティブコードが必要になることもある。それでも8割以上を共通コードで書けるのは大きなメリットだね

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「Dart」って出てきたら「Flutterでアプリを作るためのGoogle製言語」と思えればだいたいOK!
📖 おまけ:英語の意味
「Dart」 = ダーツの矢
💬 的(ターゲット)に素早く正確に刺さるイメージから名付けられたよ。もともとはJavaScriptの後継を目指して開発されたけど、Flutterの登場で花開いたんだ
← 用語集にもどる