hidakatsuya.dev hidakatsuya

Rails と Turbo と Turbo Native for Android によるお買い物リストアプリを開発し運用する

予てより Hotwire に興味があったこともあり、Hotwire と Rails でプライベートの実用的なアプリを作って運用することにした。

お買い物リストアプリ

題材はお買い物アプリ。単純かつ日頃からよく使う。

要件

方針

3つのプロダクトを作る。優先順。

  1. Webアプリ
    • Rails7 + Turbo + Propshaft + Tailwind CSS
    • Heroku で運用
  2. Androidアプリ
    • Turbo Native for Android
    • ダークモードに対応
  3. CLI
$ shopping-list add 牛乳

Webアプリ

https://github.com/hidakatsuya/shopping_list

Androidアプリ

https://github.com/hidakatsuya/shopping_list-android

CLI

現在 go で作っているところだが、最初のバージョンではPOST /items API を使った非常にシンプルな CLI になる。

$ shopping-list add 牛乳

感想

単純なシステムだが、いざゼロから作ると非常にたくさんの気づきや学びがあってとても有意義だった(道半ばだが)。 Android アプリの開発は、以前 Flutter に挑戦して挫折した程度の知識だったため、ライフサイクル など、 基本的なアーキテクチャから勉強する良い機会にもなった。その際、公式のドキュメント Android for developer が非常に充実していて情報に困ることはなかった。

また、やはり技術を学ぶ最適な手段は、自分が実際に使うものを自分で調べて作って、そして運用することだと感じた。 買い物リストという単純なシステムではあるが、この開発と運用を通じて実にこれだけのことを新たに学ぶことができている。

買い物リストアプリは、わざわざ作らなくても、すでに世の中には無料で使いやすいものが多く存在するが、 世の中に存在しないものを思いつくことは昨今では困難。題材となるアプリを考えるときは、その観点は捨て、自分が今使っているツールやアプリを自身で再発明するのが良いのではないかと思う。