Skip to content
Latchkey

Dart vs TypeScript: FlutterかWeb/Nodeか?

DartはFlutterの背後にある言語で、ネイティブへのAOTコンパイルとhot reload向けのJITを行います。TypeScriptは型付きJavaScriptで、WebとNodeの開発を席巻しています。

Dartはクロスプラットフォームのモバイル、Web、デスクトップUI向けにFlutterを支え、高速なネイティブアプリのためのAOTコンパイルと、開発中のhot reloadのためのJITを備えています。TypeScriptはJavaScriptに静的型を加え、モダンなWebフロントエンドとNodeバックエンドの標準であり、JSエコシステム全体に乗っています。選択は主に、Flutterアプリを作るのか、Web/Nodeソフトウェアを作るのかに従います。

DartTypeScript
主な用途Flutter (モバイル/Web/デスクトップ)Webフロントエンド、Node
ランタイムネイティブ (AOT) / VMJSエンジン / Node
エコシステムFlutter中心、pub広大なJS/npmエコシステム
型付け静的、健全静的、構造的
最適な用途クロスプラットフォームUIアプリWebとNodeアプリ

CIでは

Dart/FlutterのCIはFlutterのtoolchain (analyze、test、build) を使い、pub cacheをcacheします。iOS成果物のbuildにはmacOS runnerが必要です。TypeScriptのCIは標準的なNodeのフロー - install、type-check、test、bundle - で、node_modulesのcacheを行います。ターゲットで選びましょう: FlutterアプリかWeb/Nodeソフトウェアか。

高速化

実行間で依存関係 (pub cacheまたはnode_modules) とbuild出力をcacheしましょう。どちらもCI runner上でbuildされます。より高速なマネージドrunnerはbuild、type-check、テストのステップを短縮します。

結論

Flutterでクロスプラットフォームアプリを作るなら: Dart。JSエコシステム内でWebフロントエンドやNodeバックエンドを作るなら: TypeScript。選択はプラットフォームに従います - FlutterにはDart、Web/NodeにはTypeScript。

関連ガイド