解せぬ日記

雑な話をする

Flutterの開発環境を作った話

image

なんとなく思い立ってFlutterでも触ってみようかなと思って、開発環境を作ってみた。 FlutterというのはGoogleが作ってるiOSAndroidを一つのソースで開発できるというフレームワークで、Dartを使っているらしい。ハイパフォーマンス、iOSAndroidのUI/UXの再現度が高いことが売りとのこと。 high-fidelityと書いてあったので、そういうニュアンスで捉えてるけど、間違ってたら教えて欲しい。

Welcome to Flutter! - Flutter

とりあえず上記のサイトに従ってやっていけば良さそうだったのだけど、ちょっと詰まったところとか試したことが幾つかあったので、そこだけメモとして残しておく。

TL;DR

素直にAndroid StudioIntelliJ入れるのが楽で、Atomプラグイン新しくならないのでやめたほうが良い。あとはJava 1.8を使えば、特に問題なくiOSAndroid共に起動できる。

IDEのインストール

Setup作業を進めていくと、Android StudioIntelliJの2つのIDEをインストールする流れになる。 Android StudioAndroid SDKAndroid 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 StudioiOSアプリを起動するのもウケる気がするので、複数のIDE入れなってことなのかな。

Javaのバージョンについて

Setupして実際にデバイスを指定して起動しようとすると、エラーが出た。

github.com

Java 1.8が必要そうだったので、ダウンロードして入れたらiOSAndroid両方で動いた。

まとめ

一つのソースで開発できるの最高!みたいな話なのかもしれないけど、現実問題としてiOSAndroidでの最高の体験を求めた場合、設計思想の違いによりUIは違うものになると思うので、一旦落ち着いて考えていきましょうという気持ちはありつつも、ビューだけ分けるとかなんかそういうのもあるかもしれないし、見てみるのは良いと思う。 Dart触るの初めてなので、しばらく楽しんでみることにする。