コンソールアプリをDartで作ろう
Flutterでの開発に慣れてくると、ちょっとしたツールもDartで書きたいなあ、という欲が湧いてきます。きますよね?
ということで、Windows上にDartの環境を整備してコンソールアプリを作るまでの手順をまとめておきます。
まずはDartのSDKをインストール。Dartの公式サイトに 導入手順 がまとめられているのでこれを参考にしましょう。Windowsの場合はChocolateyかインストーラーが推奨されているようですが、ZIPファイルをダウンロードしてPATH通すだけでOK。ZIPファイルは『Archive | Dart』にあります。
> dart --version
Dart VM version: 2.7.0 (Fri Dec 6 16:26:51 2019 +0100) on "windows_x64"
次にstagehandをセットアップします。stagehandはDart projectの雛形を生成してくれるツール。Flutterアプリの場合はFlutterが肩代わりしてくれるので不要ですが、コンソールアプリやWebアプリを新規で作る場合は事実上必須に近いです。ルールに沿ったファイル群を手作業で作ってもいいけど大変なので…
インストールはpub
コマンドでOK。
> pub global activate stagehand
[snip]
> Warning: Pub installs executables into C:\Users\[USER_NAME]\AppData\Roaming\Pub\Cache\bin, which is not on your path.
[snip]
Warningに書かれているように、Windowsの場合は自動ではPATHが設定されません。自分で足す必要があります。PATHを通さずにフルパス指定で実行してもOK。とりあえず試すだけならPATH通さなくてもいいかも。
> stagehand console-full
とすると、コンソールアプリ用の雛形が生成されます。pub get
で依存関係を解決したら実行してみましょう。
> dart bin/main.dart
Hello world: 42!
動きました。あとはソースコードをガリガリ書いていけばOKです。
開発環境はVisual Studio CodeにDart拡張を入れるのが一番手軽ですかね。補完やコードフォーマットなんかをいい感じにやってくれます。
とりあえず動かすだけならこれでもいいんですが、せっかくなのでネイティブの実行ファイルを作ってみましょう。Dart 2.6で実装されたdart2native
を使うと実行ファイルを生成できます。
> dart2native bin/main.dart -o main_native.exe
Generated: f:\example\main_native.exe
> main_native.exe
Hello world: 42!
バッチリ!
ちなみに、dart2native
はクロスコンパイルに未対応です。Windows上でLinux用のバイナリを作る、みたいなことはできないので要注意。
参考URL
おススメ