Dartとは?Flutterとの関係・将来性と開発会社を選ぶ5つの判断軸
Dart(ダート)はGoogleが開発しているプログラミング言語です。単体で使われることはほとんどなく、実務ではモバイルアプリ用フレームワークFlutterとセットで動きます。この記事では、Dartの現在地を公式のリリース情報から確認し、「将来性はあるのか」「Flutterとどちらを先に決めるのか」「Dartが使える開発会社をどう見極めるのか」に順番に答えます。バージョン番号と日付はすべて2026年7月26日時点の公式配信データに基づきます。
まとめ:Dartの現在地と発注判断の要点
- Dartの安定版は3.12.2(2026年6月9日)。Flutter 3.44.8(2026年7月23日)に同梱される形で配られます。
- DartはFlutterと運命共同体です。Flutterのstableは約3か月ごとに出ており、Dartのマイナー版もそれに連動して上がります。
- 「Web開発ならAngularDart」「FuchsiaのメインOS言語」という説明は古い情報です。AngularDartは2021年10月を最後に更新が止まりアーカイブ済み、Fuchsiaは現在のFlutter公式サポート表に載っていません。
- 2025年1月、Dartチームは目玉機能だったマクロの開発中止を公表しました。将来性を判断するなら、この一件と直近2年のリリース実績の両方を見てください。
- 発注先を選ぶときは「SDKアップグレードを保守に含むか」「サポートOSレンジを明示できるか」の2点を最初に聞くと、Flutter開発の経験値が短時間で分かります。
以下、それぞれの根拠を公式データで確認していきます。
Dartの入手経路と実行方式:Flutter同梱で配られる言語
DartはFlutterから独立した言語ですが、Flutter SDKにDart SDKが同梱されるため、Flutterを使う限りDart単体の導入は不要です。Flutterを入れた時点でDartも入ります。
2026年7月26日時点の公式配信データでは、Flutterのstableが3.44.8(2026年7月23日)、そこに同梱されるDartが3.12.2です。Dart単体のstableチャンネルも同じく3.12.2(2026年6月9日)を配信しています。betaは一段先を走っており、Dartが3.13.0-282.3(2026年7月21日)、Flutterが3.47.0-0.1.preです。
言語としての性格を決めているのは、1つのコードを2通りにコンパイルできる点です。開発中はJITでコンパイルするためFlutterのホットリロードが効き、画面の修正が即座に反映されます。リリース時はAOTでネイティブコードに落とすため、起動時にコンパイル待ちが発生しません。サーバーやCLIツールなら dart compile exe bin/server.dart で単一の実行ファイルを吐けます。この二段構えが、Flutterが「開発中は軽快、本番はネイティブ」を両立できている技術的な理由です。
FlutterとDartの関係:先に決めるべきはFlutterの採否
検索では「flutter dart」「dart 言語 flutter」といった、両者の関係を確かめる調べ方が目立ちます。整理すると、DartはFlutterを書くための言語、FlutterはDartで書かれたUIフレームワークです。ReactとJavaScriptの関係に近いのですが、決定的に違う点が1つあります。
JavaScriptがReact以外でも広く使われるのに対し、Dartを採用する理由はほぼFlutterに集約されます。順序は一方通行。「Flutterを使うと決めた結果、Dartを書くことになる」のであって、その逆はまず起きません。技術選定の会議で最初に決めるべきは、Flutterを選ぶかどうかです。競合となるReact Nativeとの比較軸はFlutterとReact Nativeの違いと選び方|2026年の判断基準で整理しています。
この従属関係は、そのまま学習と採用の判断にも効きます。「Dartを学ぶ」という目標設定はあまり意味がなく、Flutterでアプリを1本組む過程でDartを覚えるのが最短です。求人票に「Dart経験者」とあれば、実質的にFlutter経験者を指しています。
Dartの将来性を判断する4つの材料
「dart 将来性」で上位に出る記事の多くは、AngularDartやFuchsiaを根拠に将来性を語ります。どちらも公式の現状と食い違うので、判断材料を事実ベースで置き換えます。
リリース実績:約3か月ごとのstable更新が続いている
Flutterのstable初回リリース日を公式配信JSONから並べると、3.24.0が2024年8月6日、3.27.0が12月11日、3.29.0が2025年2月12日、3.32.0が5月20日、3.35.0が8月14日、3.38.0が11月12日、3.41.0が2026年2月11日、3.44.0が5月18日です。間隔は3か月前後で、各系列はその後2〜3か月かけてパッチが重ねられます(3.44系の最新は7月23日の3.44.8)。同梱されるDartもDart 3.5.0から3.12.0まで、同じ歩調で上がってきました。開発が止まった言語のリリース履歴にはなりません。
直近の3.41で何が変わったかはFlutter 3.41が2026年2月安定版で示した開発者体験の改善ポイントにまとめています。
マクロ開発の中止:2025年1月に方針転換した
2025年1月29日、Dartチームは公式ブログ「An update on Dart macros & data serialization」でマクロ機能の開発中止を発表しました。理由は性能です。意味解析を伴うマクロがコンパイル時間を押し上げ、ホットリロードの速さを保てなくなったと説明されています。代わりに、マクロの試作から切り出したaugmentationsの提供、build_runnerのビルド時間改善、データ処理向けの個別言語機能に注力するとしています。
これは将来性の減点材料ですが、致命傷ではありません。Dartは今もコード生成をbuild_runnerに依存しており、JSONのシリアライズにビルド1回分の待ち時間がかかる状態が続くという意味です。発注側の実利で言えば、モデルクラスを増やすほどビルド待ちが伸びる構造は当面変わりません。
AngularDartのアーカイブ:Dart単体のWeb開発は終わっている
「DartはWebでも使える、AngularDartがある」と書く記事が今も上位にいますが、GitHubのangulardart/angularリポジトリはアーカイブ済みで、最終更新は2021年10月7日です。5年近く動いていません。2026年時点でDartのWeb利用は、FlutterのWebビルド(JavaScriptまたはWasmへの出力)に限られると考えてください。Dart単体でWebアプリを新規に組む選択肢は、実務上は消えています。
Fuchsia前提論:公式サポート表に記載がない
「GoogleのOS FuchsiaでDartが主要言語になるから安泰」という説明も定番ですが、Flutter公式のサポート対象プラットフォーム表に載っているのはAndroid、iOS、Web、Windows、macOS、Linuxの6つで、Fuchsiaは含まれていません。将来性を測るなら、公表されていないOS構想ではなく実際に動いているアプリで見るべきです。Flutter公式のショーケースには、Google Pay、Toyota、teamLab、ブラジルのネット銀行Nubank、BMWなどが掲載されています。
Flutter以外にDartが使われる領域
サーバーサイド:ServerpodとDart Frogの2択
アプリとサーバーを同じ言語で書きたい場合、選択肢は事実上2つです。Serverpodはserverpod/serverpodで開発が続いており、2026年7月26日時点でGitHubスター3,231、最終更新は7月24日です。ORMや認証、リアルタイム通信まで含んだフルスタック寄りの構成で、詳細はServerpodとは?Flutter/Dart向けの高速・拡張性に優れたバックエンドフレームワーク入門にまとめています。
もう一方のDart Frogは、Very Good Venturesが開発したのち現在はdart-frog-devで公開されており、同時点でスター2,267、最終更新は7月2日です。こちらはルーティングとミドルウェアだけの薄い構成で、既存のDB層を持ち込みたいときに向きます。
ただし、どちらを選ぶにせよサーバーサイドDartは人材の層が薄い領域です。バックエンドをDartで統一するかどうかは、次章の判断軸で扱います。
CLIツール:ビルド周辺の自動化に使われる
Dartはネイティブの実行ファイルを吐けるため、Flutterプロジェクトのビルド補助やコード生成のCLIをDartで書く現場は珍しくありません。Flutter 3.38ではネイティブライブラリの取り込みを扱うNative Assetsが正式サポートに入り、C/C++資産をDartから呼ぶ経路も整理されました。詳細はFlutter 3.38で正式サポートされた新機能Hooks(Native Assets)とは何か、その概要を解説を参照してください。
Dart 3.12の言語機能:privateフィールドの初期化が短くなった
Dartの言語仕様は今も動いています。直近のstableである3.12では、名前付き引数にprivateフィールドを直接指定できるようになりました(private named parameters)。3.11以前はコンパイルエラーだった書き方です。
// Dart 3.11 以前:初期化子リストでアンダースコアを剥がす必要があった
class Point {
final int _x, _y;
Point({required int x, required int y})
: _x = x,
_y = y;
}
// Dart 3.12 以降
class Point {
final int _x, _y;
Point({required this._x, required this._y});
}
呼び出し側は Point(x: 1, y: 2) のままで、フィールドだけがprivateに保たれます。
なお、beta段階の3.13にはprimary constructorsが入ります。こちらは位置引数とpublicフィールドの定型を縮める別の機能で、class Point { int x; int y; Point(this.x, this.y); } が class Point(var int x, var int y); の1行になります。上のprivate named parametersとは対象が違うので、混同しないでください。
歴史的に見ると、Dartは2021年の2.12でnull安全を、2023年5月の3.0でレコードとパターンマッチを入れてきました。冗長さを削る方向の変更が数年単位で続いています。
Dart/Flutterの開発会社を選ぶときに確認する5点
「dart 開発会社」で情報を探す人が本当に知りたいのは、Dartの文法ではなく発注先の見極め方です。フリーランス媒体の記事はこの観点をほぼ扱っていないので、技術的に確認できる項目に絞って挙げます。
SDKアップグレードを保守契約に含んでいるか
最初に聞くべき質問です。前述のとおりFlutterのstableは約3か月ごとに更新され、Dartのマイナー版も一緒に上がります。放置すると使用しているパッケージが新しいSDK制約に追いつかなくなり、2年後の改修時に「まずSDKを8世代(約2年分)遡って上げる」という作業が本題の前工程として発生します。見積書に「Flutter SDKアップグレード対応」の行がない保守契約は、実質的にアップグレードを想定していないと考えてください。
サポートOSレンジを数字で答えられるか
2026年7月26日時点の公式サポート範囲は次のとおりです。
| プラットフォーム | サポート範囲 |
|---|---|
| Android | APIレベル 24〜37 |
| iOS | 13〜26 |
| Windows | 10、11 |
| macOS | 10.15(Catalina)〜26 |
| Linux(Debian) | 10〜13 |
| Linux(Ubuntu) | 20.04 LTS〜24.04 LTS |
| Web(Chrome / Firefox / Edge) | 最新2バージョン |
| Web(Safari) | 15.6以降 |
この数字を即答できる、あるいは要件定義書に明記してくる会社なら、対応範囲の下限を契約前に固定できます。「最新OSに対応します」としか書かれていない提案は、どこまで古い端末を切り捨てるかが曖昧なまま契約することになり、リリース後に「その機種は対象外です」と言われる余地を残します。
状態管理ライブラリの選定理由を説明できるか
Flutterアプリの保守性は状態管理の選び方でほぼ決まり、後から差し替えると画面をまたいだ大改修になります。Riverpod、Bloc、標準のProviderのどれを使うか、そしてなぜそれを選んだのかを言語化できるかを確認してください。判断材料としてはRiverpodとは何か?Flutterの状態管理ライブラリとしての特徴や他ライブラリとの違いを徹底解説とFlutterにおけるアーキテクチャ設計の基本と重要性が使えます。「案件ごとに違います」だけで理由が出てこない場合は、設計を持っていない可能性が高いです。
バックエンドまでDartで統一する必要性を説明できるか
ここは立場を明確にします。バックエンドをDartで統一する提案は、原則として受けるべきではありません。ServerpodやDart Frogは技術的に成熟してきましたが、サーバーサイドDartを書ける技術者の母数は、Ruby、PHP、Goに大きく劣ります。開発会社を1社に固定したまま数年運用する前提なら成立します。ただし途中で保守を別会社に引き継ぐ、あるいは自社の情報システム部門で引き取る可能性が少しでもあるなら、バックエンドは人材を確保しやすい言語で組むべきです。Dartでのサーバー統一が有利なのは、アプリとAPIの仕様変更が頻繁で、型定義を共有する利得が引き継ぎリスクを上回る場合に限られます。
ノーコード(FlutterFlow)で足りる案件を切り分けられるか
画面数が10前後で、複雑な業務ロジックも独自のネイティブ連携もない社内向けアプリなら、FlutterFlowで作って納品するほうが期間も費用も小さくなります。FlutterFlowの料金はFreeが$0、Basicが月$39、Growthが月$80、Businessが月$150で、ソースコードをダウンロードして手元に残せるのはBasic以上です。無料プランのまま納品されるとコードが手元に残らないため、契約前にプランを確認してください。逆に、決済やバックグラウンド処理、独自のネイティブプラグインが絡む案件でFlutterFlowを勧めてくる場合は、後から作り直しになります。判断材料はFlutterFlowとは?Flutterベースのノーコード開発プラットフォームの概要と最新動向にまとめました。
よくある質問
Dartの読み方は「ダート」で合っていますか
はい。日本語では「ダート」と読みます。矢を意味する英単語 dart と同じ綴りで、Googleが2011年に公開した言語です。「ダーツ」と複数形で読む慣習はありません。表記もカタカナの「ダート」で通じます。
Flutterアプリの開発費用はどう見積もればよいですか
初期開発費だけで判断しないでください。Flutterアプリの費用は、初期開発、SDK追随の保守、ストア関連の固定費の3つに分かれます。SDK追随は約3か月ごとのFlutter更新に合わせた作業で、契約に含まれていないと数年後にまとめて跳ね返ります。ストア関連はApple Developer Programが年額$99、Google Play Consoleが初回のみ$25で、毎年発生するのはApple側だけです。ノーコードを使う場合は、ソースコードを手元に残せるFlutterFlow Basic以上の月$39〜が加わります。
アカウントは開発会社ではなく発注者側の名義で用意してください。App Store Reviewガイドライン4.2.6は、テンプレートやアプリ生成サービスで作られたアプリについて「コンテンツの提供者自身が直接申請しない限り却下する」と定めており、制作会社の名義で出すと審査で弾かれます。見積もりを比較するときは、画面数、外部API連携の数、独自ネイティブ機能の有無の3点を各社の提案書に必ず書かせると、金額差の理由を追えます。
Dart言語の将来性はどう判断すればよいですか
Flutterの継続性と同じものと考えて差し支えありません。判断材料になるのは、Flutter stableが2024年8月の3.24.0から2026年5月の3.44.0まで3か月前後の間隔で更新され続けている実績です。一方、2025年1月にマクロ機能の開発中止が公表されており、コード生成まわりの改善が当初計画より遅れている点は減点材料です。Fuchsiaを根拠にした将来性の説明は、公式のサポート対象プラットフォーム表に裏付けがないため採用しないでください。
Flutterが流行らないと言われるのはなぜですか
言語がDartに限定されることが最大の要因です。JavaScriptを書ける技術者をそのまま投入できるReact Nativeと違い、Flutterは新しい言語の習得が前提になるため、社内にモバイル専任がいない企業ほど採用のハードルが上がります。Google発のプロジェクトが打ち切られてきた前例への警戒もあり、実際にAngularDartは2021年にアーカイブされ、マクロ機能も2025年に開発中止となりました。一方で前述の公式ショーケースにGoogle PayやToyotaが並ぶとおり、モバイルアプリの実装手段としては定着しています。
Dartが使える開発会社はどう探せばよいですか
「Dart開発会社」ではなく「Flutter開発会社」で探してください。Dartを単体で受注する会社はほぼ存在せず、実体はFlutterアプリの開発会社です。そのうえで、本記事の5つの確認項目のうち少なくとも「SDKアップグレードの保守契約への組み込み」と「サポートOSレンジの明示」を提案依頼書に書き込むと、経験のある会社とそうでない会社の回答が明確に分かれます。