Flutterの開発環境を作った話
なんとなく思い立ってFlutterでも触ってみようかなと思って、開発環境を作ってみた。 FlutterというのはGoogleが作ってるiOSとAndroidを一つのソースで開発できるというフレームワークで、Dartを使っているらしい。ハイパフォーマンス、iOSとAndroidのUI/UXの再現度が高いことが売りとのこと。 high-fidelityと書いてあったので、そういうニュアンスで捉えてるけど、間違ってたら教えて欲しい。
とりあえず上記のサイトに従ってやっていけば良さそうだったのだけど、ちょっと詰まったところとか試したことが幾つかあったので、そこだけメモとして残しておく。
TL;DR
素直にAndroid StudioとIntelliJ入れるのが楽で、Atomはプラグイン新しくならないのでやめたほうが良い。あとはJava 1.8を使えば、特に問題なくiOSとAndroid共に起動できる。
IDEのインストール
Setup作業を進めていくと、Android StudioとIntelliJの2つのIDEをインストールする流れになる。 Android StudioはAndroid SDKとAndroid SDK Platform-Toolsを入れるためにインストールし、コードを書くのに最高の体験を得たければ、Pluginを用意したんでIntelliJを使いましょうということっぽい。 コマンドラインツール使うなら、エディタは何でもいける。
IDE入れまくるのやだなー、Android StudioってIntelliJがベースじゃなかったっけ?と思って、Android Studioでプラグインを検索してみると、DartはあるけどFlutterは見つからなかった。
ググるとAtomで開発してたりして、確かにDartとFlutterのプラグインはあるけど、そもそもflutter doctor
の結果が違うことに気づいて調べてみると、Atomのプラグインはメジャーバージョンアップしないってことだったので、プラグイン使うなら大人しくIntelliJが良さそう。おそらくちょっと前まではAtomが推奨されていて、コマンドラインの結果がAtomで表示されてたってことなんだと思う。
[-] IntelliJ IDEA Community Edition (version 2016.2.5) • Dart plugin not installed; this adds Dart specific functionality. • Flutter plugin not installed; this adds Flutter specific functionality. • For information about managing plugins, see https://www.jetbrains.com/help/idea/2016.2/managing-plugins.html
https://groups.google.com/forum/#!topic/flutter-dev/JEzfu0kpmKA
まあよくよく考えるとAndroid StudioでiOSアプリを起動するのもウケる気がするので、複数のIDE入れなってことなのかな。
Javaのバージョンについて
Setupして実際にデバイスを指定して起動しようとすると、エラーが出た。
Java 1.8が必要そうだったので、ダウンロードして入れたらiOSとAndroid両方で動いた。
まとめ
一つのソースで開発できるの最高!みたいな話なのかもしれないけど、現実問題としてiOSとAndroidでの最高の体験を求めた場合、設計思想の違いによりUIは違うものになると思うので、一旦落ち着いて考えていきましょうという気持ちはありつつも、ビューだけ分けるとかなんかそういうのもあるかもしれないし、見てみるのは良いと思う。 Dart触るの初めてなので、しばらく楽しんでみることにする。