虎視眈々と

Flutter × Firebaseを研究するアプリエンジニア

Flutterの好きなところを語る

f:id:superman199323:20181204204616j:plain

Flutterの好きなところを語る

この記事はFlutter Advent Calendar 2018 5日目のものになります。

自分はFlutterで開発を初めて半年経ちFlutterの虜になってしまっています。

そんな自分がFlutterの好きなところを語ってみたいと思います。

Flutterは開発スピードが速い

Flutterは開発スピードがものすごく速いです。

自分のTwitterのプロフィールにも書いていますが、最初あまりFlutterについて知識がない状態でかつ普通に仕事をしながらで時間が取れない中アプリを3ヶ月で作りました。

twitter.com

開発スピードが速い理由は下記の2点だと思います。

  • Hot Reloadが使える
  • よく使うコンポーネントは用意されている

この2点にあります。クロスプラットフォームなのは確かに一つの利点なのですが それよりも上記の二つの利点の方が圧倒的に素晴らしいです。

Hot Reloadは開発スピードをグンとあげてくれます。ネイティブアプリ開発だとレイアウトをちょっと変えたりしたい場合でももう一度ビルドしないといけないので、その度に開発スピードが落ちるように感じます。

ですが、Hot Reloadだと1秒もかからずレイアウトが変更されます。

Widgetについても豊富で、マテリアルデザインや、iOSっぽいレイアウトなどのコンポーネントが揃っていて、かつとても美しいです、

Flutter widget index - Flutter

Flutterはネイティブと同じ軽さとスピードでレイアウトを動かせるようにすることを掲げているだけあって動きも滑らかに動きます。

マテリアルデザインが簡単で美しい

上の内容と少し被りますが、Flutterではマテリアルデザインの実装が非常に簡単であり、かつ非常に美しいです。

f:id:superman199323:20181204210605j:plain

Hero Animationも簡単に実装できたりするので、ネイティブでAndroidアプリ開発するよりかなり実装しやすいでしょう。

medium.com

iOSにマテリアルデザインを入れるのはどうなの?という指摘はもちろんあると思いますが、iPhone持ってる人が普通にGoogleのアプリ(Gmailとか)をなんの文句を言わずに使っていることもあり実際はあまり気にならないのではないかと思っています。

コード上でもiOSとAndroidの別のViewを作りために分岐することもできるのでその辺りは問題ないでしょう。

レイアウトとロジックが全て共有のDartでかける

レイアウトとロジックが全て共有のDartでかけるのも一つの利点だと思います。

iOS開発や、Android開発において、レイアウトファイルは基本的に別ですが、細かなアニメーションや、描写部分などロジックにView振る舞いを書いていたりするでしょう。

Flutterはその辺振り切っていて全てDartで書きます。この利点として変数の見通しや、どこで使われているかなどInteliJの機能を使って簡単にジャンプすることができます。なので、コードの見通しがよくなっている気がします。

まとめ

  • Flutterは開発スピードが速い
  • マテリアルデザインが簡単で美しい
  • レイアウトとロジックが全て共有のDartでかける

Flutterの好きなところを語り出すと止まらなくなるので、これくらいにしておきます。

Flutter関連の情報は随時Twitterで呟いておりますので是非フォローしてください

twitter.com

noteでもFlutterに関する記事はたくさん書いておりますのでよろしければどうぞ

note.mu