【ダート】

Dart(ダート) とは?

最終更新:
💡 Flutterなどを支え、ネイティブとWebで使える言語

Flutterのアプリ開発などに使われるプログラミング言語。ネイティブ環境向けの実行やコンパイルに加え、Web向けにJavaScriptやWebAssemblyへコンパイルできる。

📌 このページのポイント
DartとFlutter:複数の環境へ Dart プログラミング言語 Flutter UIなどを作る仕組み スマホ iOS / Android Web JS / Wasm デスクトップ Windows / macOS Linux ネイティブ配布:AOTコンパイル Web:JavaScript / WebAssembly ホットリロードはデバッグ時の機能
DartでFlutterのアプリを作り、環境に応じた形式へビルドする。
ひよこ ひよこ
FlutterとDartは同じもの?
ペンギン先生 ペンギン先生
Dartはプログラミング言語で、FlutterはDartを使ってUIなどを作るフレームワークだよ。Dartには入出力や非同期処理などのライブラリもあり、コマンドラインのプログラムなどにも使えるんだ
ひよこ ひよこ
スマホ以外でも動くの?
ペンギン先生 ペンギン先生
FlutterはiOS・Androidだけでなく、WebやWindows・macOS・Linuxにも対応するよ。Dartはネイティブ向けにコンパイルでき、WebではJavaScriptやWebAssemblyへ変換する。全環境で同じバイナリをそのまま動かすという意味ではないんだ
ひよこ ひよこ
ホットリロードなら何でもすぐ反映される?
ペンギン先生 ペンギン先生
Flutterのデバッグ中に、対応するコード変更を反映して状態を保ったままUIを作り直せるよ。通常はmainやinitStateを再実行しないので、変更によっては再起動が必要。Webでもホットリロードに対応するけど、常に一定の時間で反映されるわけではないんだ
ひよこ ひよこ
Null Safetyならnullのエラーは起きない?
ペンギン先生 ペンギン先生
nullを許さない型と、許す型を区別できるよ。例えばString?はnullも扱える。ただし「!」でnullではないと指定した値が実際にはnullなら、実行時エラーになる。型の仕組みがあっても、すべての実行時エラーを防げるわけではないんだ
ひよこ ひよこ
各OSの機能も全部Dartだけで書くの?
ペンギン先生 ペンギン先生
共通のコードを使いつつ、環境に固有の処理が必要になることもあるよ。Flutterのプラットフォームチャネルで、AndroidのKotlinやJava、iOSのSwiftやObjective-Cなどのコードと連携できる。必要な機能と対応環境を確認して実装するんだ
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「Dart」って出てきたら「Flutterなどのアプリ開発に使うプログラミング言語」と思えばだいたいOK!
📖 おまけ:英語の意味
「Dart」 = ダート(プログラミング言語の名前)
💬 DartはGoogleが開発する言語の名前だよ。英語のdartには投げ矢という意味もあるけど、ここではプログラミング言語を表すんだ

参考資料

← 用語集にもどる