ソースコードひとつでWeb+Android+iOSに対応!話題のFlutter for Webに爆速入門する方法【5分でHello,World!】


FlutterはDartという言語のフレームワークで、1つのコードでAndroidとiOSのアプリが開発できる凄いフレームワークです。

それが最近、Webアプリにも対応し、1ソース3プラットフォームな開発が可能に。。。

これは触るしかない!!!

Flutter for Webの開発環境を構築

Flutterの公式ドキュメントにしたがって開発環境を構築していきます。

筆者のマシン

コマンドラインツールのインストール

まず、前提として以下のコマンドラインツールが入っている必要があるらしいので、インストールしていきます。

bash
curl
git 2.x
mkdir
rm
unzip
which

bash、curl、gitなど以下コマンドでインストールできると思います。

brew install hoge

うん、問題なさそうですね。

FlutterSDKをインストール

Flutter SDKの最新安定版をDLした後は、以下のコマンドで解凍し、環境変数にFlutterSDKとdartSDKパスを通します。

unzip flutter_macos_v1.5.4-hotfix.2-stable.zip
export PATH="$PATH:`pwd`/flutter/bin"
export PATH="$PATH:`pwd`/flutter/bin/cache/dart-sdk/bin"

以下コマンドでFlatterSDKのインストールとSDKの環境変数へのパス通しが正常にできているかを確認できます。

flutter --version
dart --version

オーケー!無事インストールできました!

Flutter for WebにHello, World!する

Flutter for Webのソースコードリポジトリの入門を参考に、Hello,World!していきましょう。

ソースコードのクローン

以下のコマンドでソースコードをクローンし、hello_worldプロジェクトのあるディレクトリまで移動しましょう。

git clone https://github.com/flutter/flutter_web.git
cd flutter_web/examples/hello_world

Flutter for Webのビルドツール「webdev」をインストール

以下のコマンドでビルドツールをインストールできます。

flutter packages pub global activate webdev

Flutter projectの無いディレクトリで実行しても怒られるので注意してください。

その後は環境変数にwebdevのパスを通します。

export PATH="$PATH":"$HOME/.pub-cache/bin"

ローカルサーバでHello,World!

いよいよHello,World!です。以下のコマンドでローカルサーバが立ち上がり、プロジェクトが動きます。

pub get
webdev serve

ターミナルに表示されたアドレスをChromeに入力すると・・・

やったー!Hello,World!成功です!

ちなみに、pub getは依存ライブラリをダウンロードするものらしいです。
pub get
Get the current package's dependencies.

IntelliJで開発するための設定

せっかくなので、手元のInnteliJ IDEでもFlutterプロジェクトを閲覧・編集できるように設定しましょう。

まず、メニューバー のPreference -> pluginsからflutterを検索してダウンロード・インストールしてください。

その後、プロジェクトファイルを開くと、DartSDKを選択するよう言われます。

[Open Dart settings]を選択して・・・

コンソールでパスを通したディレクトリの一個上を選択して、[OK]を選択しましょう。
選択するディレクトリ:[あなたのFlutterSDKインストール場所]/flutter/bin/cache/dart-sdk

これで、IntelliJから開発ができそうですね!

実行画像は examples/spinning_square をIntelliJから動かしたものです!

TODO

  • Flatter for WebのサンプルアプリをiOSやAndroidでも動かして、ひとつのソースコードが複数のプラットフォームで使えることを確かめる

  • Flatter for Webのサンプルアプリをデプロイする

  • Flatter for Webのサンプルアプリを改造して、作りたいアプリを作る