虎視眈々と

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

FlutterでiOSとAndroid両対応のアプリをリリースしたので知見をまとめる

リリース

Flutter製アプリGroupAlbumをリリースしました!

GroupAlbum

GroupAlbum

  • shogo yamada
  • Photo & Video
  • Free

play.google.com

FlutterでiOSAndroid両対応のアプリをリリースしたので知見をまとめる

以前にFlutterをたくさん触ったときの知見をまとめたので、今回はリリースまでに大変だったこととをまとめていきたいと思います。

note.mu

以前書いた記事よりもう少し踏み込んだ内容として書いていきます。

開発スピードはやっぱりはやい

開発スピードはめちゃくちゃ速いです。 特にViewの作成は慣れると簡単でHotReloadも’使えるのでなおさら爆速で開発を進めていけました。 開発期間とは詳しいことは下記の記事をご覧ください。

www.shogogeek.com

とりあえずマテリアルデザインを使えばそれなりものはできた

Googleが推奨しているマテリアルデザインは素晴らしく、個人で開発している自分のような人でも簡単にそこそこのデザインが作れました。

Flutterではそのマテリアルデザインを組むための簡単なコンポーネントを用意しているので実装も楽だった印象です。

flutter.io

ボタンのタッチフィードバックとか細かな実装も何も実装しなくても最初からできているような感じです。

Flutterだけでは実装できない箇所はいくつかあった

Flutterだけでは実装できなかった箇所はいくつかありました。

ですので自分は、SwiftとKotlinを使って実装を下記、MethodChannel経由で実装を呼び出しました。

f:id:superman199323:20180905072751p:plain

例えば写真の一覧を取得して画面に表示する処理です。

f:id:superman199323:20180905072851p:plain

FlutterではAndroid側はFlutterActivity上に、iOSはFlutterViewController上にViewを生成しているので、新しい画面を呼び出すことでこの実装は対応しました。

他にFlutterだけでは実装できなかった機能は下記です。

などでした。この辺はあとからプラグインが充実してくるのではないかと予想しています。

アニメーションの実装はややめんどう

これはどのプラットフォームの開発でも言えることだと思いますが、Flutterも同様アニメーションの作成は大変です。

自分はアプリのスプラッシュを自分で自作しました。

qiita.com

素晴らしい発表記事を見つけたのでこちらもどうぞ

speakerdeck.com

PCにそこそこ負荷がかかる

HotReloadを使えるので負荷がかからないと思っていましたが、結局そこそこ負荷がかかりました。

原因はXcodeAndroid Studio両方立ち上げているからだと思います。

また、HotReloadを繰り返しているとだんだんマシンが熱くなってきます。

まとめ

  • 開発スピードは速い
  • とりあえずマテリアルデザインを使えばそれなりもものはできる
  • Flutterだけでは実装できない箇所がいくつかある
  • アニメーションの実装はややめんどう
  • PCにそこそこ負荷がかかる