見出し画像

Flutter面白いっす

2020年の秋ぐらいから、Flutterを触り始めました。今年の2月に1本リリースして感じたことをつらつら書いていこうと思います。

Flutter is 何

ワンソースでiOS/Android/Web/DeskTopの4つのアプリケーションをビルドして生成できるという、クロス・プラットフォーム・フレームワーク。こんな言い方が妥当な気がする。Xamrainと同種。Xamrainは「.NETフレームワークで、iOS/Androidいけるぜ」で、Flutterは「DartでiOS/Androidどっちもいけるぜ」というもの。

すごいよね、意味がわからないよ。どういう仕組みなのか全くわからん。

Flutterの生産性の高さはガチ

ネイティブの機能をビシバシ叩くようなものじゃなければ、Flutter以外の選択肢はないです。生産性の高さを生む理由は大きく2つあると思っています。

1.  当たり前だけど、ワンソースで作れること

iOSだとSwift、AndroidだとJavaかKotlin。同じアプリでも同じものを別の言語で2個作る必要があったのが、Dartだけで良いので、簡単に言えば半分になります。ライブラリのメンテナンスコストも下がる。OSの最新機能の対応はさすがに遅いですけど、それがネックにならないならOK。

2. ビューをコードで管理できる

これが一番良さみがありました。Flutterの全てはウイジェットであるという考え方はGreat。

ネイティブアプリの画面構築で面倒なのって、レスポンシブ対応だと思います。特にiOS。

Swiftも「SwiftUI」が出てきましたけど、メインは「Storyboard/XIB」を使う方法。チーム開発だと、Storyboardがコンフリクトしたりする現場もあったのではないでしょうか。マージするの大変だもんね。AutoLayoutもだるいだけ。マージンを設定するのにGUIの設定をいじったり(コードでもかけるけど)するの、バッドノウハウ感がすごかった。

Flutterになると、ネストは深くなりますけど、画面のデザインが全部コードでかけるようになるので、慣れるとかなり楽。Storyboard/XIBは邪魔なだけでした。マージン・パディングも簡単に取れる。ウイジェットを返すコードを作れば同じコンポーネントを使い回せるので便利。

画面開発が楽しくなったのはFlutterのおかげ。

リーチ一発Flutterでいけるか?

イケルと思います。ネイティブ開発の経験がないと困るのは環境の問題と言うか、端的にはビルドの設定。Gradleって何みたいな話。Proguardで必要なコードが消されてビルドは通るけどリリース版で動かねーみたいな。そこで色々詰まる可能性があります。

Flutterの将来性は?

Googleが自分のサービスのアプリをFlutterで作っているぐらいなので、大丈夫じゃないでしょうか。僕はFlutterについていきます。

この記事が気に入ったらサポートをしてみませんか?