見出し画像

Flutter製アプリ【お買い得メモ】をリリースしました

Flutterで新規アプリを公開しました。短期間の個人開発を振り返ってみます。

アプリについて

買い物にいったとき、「あれ?この野菜って普段こんなに高かったっけ?」とか、「このセール品って、本当に安い?」などと思うことはありませんか?そんなときのためのアプリがこの【お買い得メモ】です。

商品名と値段をメモしておいて、いつでも見返すことができます。特徴はこちら。

・商品と値段を、一覧性高く表示
・消費税(8%, 10%)対応
・税抜き・税込み価格の表示切り替え
・単位容量あたりの値段を自動表示
・タブで自由なグルーピング

アイデアは前々からあって、自分で欲しいなと思っていたものです。

開発期間

開発着手から申請まで、11日間でした。平日は平々凡々な会社員なので、主な開発は帰宅後の2~3時間程度です。土日は子どもの相手をしているので、やはり子どもが寝静まったあとの2~3時間程度です。ですので、30時間程度で作り上げたことになります。これが早いのか遅いのかはよくわかりませんが、感覚的にはとてもスピーディーだったなと感じています。

また、本来やりたかった機能はまだ完全には実装できておらず、ミニマムスタートとしました。今後は家族にも使ってもらってフィードバックを受けつつ、自分がやりたかったことの実現にむけて開発を進めていこうと思っています。

ちなみに、審査は丸一日で両OSとも無事通過しました。審査期間は長引いていると公式ではアナウンスされていますが、アプリ規模が小さいからでしょうか、とにかくリジェクト無しでさくっと通過したのは素直にうれしかったです笑。

設計

Provider+ChangeNotifierを使っています。以前開発していたアプリはBLoCパターンを使っていたのですが、勉強も兼ねてこちらをベースに作っています。下記の記事は何度も何度も参考にさせていただきました。

使ったライブラリ

floor
DBだとsqfliteとかmoorなどが有名なのかもしれませんが、私はこちらを採用しました。内部的にはsqfliteを使っていて、そのラッパーのような位置付けですが、AndroidのRoomライクな使い方ができる点がとても気に入っています。(アノテーションを書いてコードを自動生成する)
名前も、Roomに対してFloor(しかもFlutterのFから始まる)というネーミングセンスも気に入ったポイントです。

注意すべき点は、まだ安定バージョン(現在v.0.13)ではないため、今後破壊的変更が入る可能性があること、一部の機能が未実装であることです。実務での導入はリスクがあるかもしれませんが、そこは思い切って使えるので個人開発は楽しいですね。
→2021/5/8に1.0.0としてリリースされました。大きなBreaking Changeもなく、null safety対応版としてリリースされています。

tutorial_coach_mark
チュートリアルに使いました。AppBarの右上に【?】アイコンを置き、それをタップするとチュートリアルが開始されます。
ちょっと書くだけで美しくてわかりやすいチュートリアルが作れるのでとても便利でした。
こんな感じです。

画像1

flutter_launcher_icons
Android/iOSのアイコンを生成してくれるツールです。下記の記事で紹介されていたので採用しました。便利です。ひとつだけ失敗したのが、iOSのストア画像にα値が入ってしまい、ipaアップロードできなかったところです。アイコンを適当に作っちゃダメですね…

pedantic_mono
静的解析のanalysis_options.yamlはこちらを使って対応しました。デフォルトのyamlは緩すぎるので、必ず何かしらは設定した方が良いです。

CI/CD

CodeMagicを使っています。

設定はそんなに難しく無いですが、署名まわりとか分かりづらいところはこちらが参考になりました。

また、Apple Developer Portalの2ファクタ認証は1ヶ月ほどで切れるため、再度認証を行う必要があります。

デザイン

アプリアイコンは自分でSketchで作りました。sketchを使いこなせるわけでもないし、デザインセンスもないのでとにかく自分で作れるシンプルでわかりやすいモノにしました。あとは他のメモアプリなどをDLして参考にしながら作りました。

sketchの基本的な使い方は、社内のデザイナー x エンジニア勉強会で、同僚のデザイナーの方に教えてもらいました。感謝!

アプリ内の画像

ICOOON MONOさんの画像を拝借しました。商用フリーでとても質の良いものが揃っていましたので、大変お世話になりました。ちなみにアプリ内で色を変えたいために、VectorでDLして使っています。

今後について

今はまだ必要最低限の機能でリリースしただけです。やりたいことはいくらでもあります。パッと思いつくことだけ列挙してみました。

・アイテムの並び替え機能(対応済)
・タブの編集機能(対応済)
・容量による換算機能
・多言語(外貨)対応
・デザインのブラッシュアップ
・家族とのメモの共有
・楽しいアニメーションを組み込む
・ユーザ補助機能の対応
・ストア情報の整備
・その他諸々

ユーザ視点での改善ももちろんですが、いちエンジニアとして新しい技術の取り込みなども積極的にやっていきたいなと思っています。また、ご意見・ご要望などありましたら、アプリのご意見箱twitterなどから頂けるとありがたいです。

最後までお読みいただき、ありがとうございました!

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