プログラミング未経験なのに新規事業でアプリを作る話

2023/02/02に公開

はじめに

こんにちは!
犬専用の音楽アプリ オトとりっぷでエンジニアしています、足立です!

https://www.oto-trip.com/

この記事では、オトとりっぷの開発の歴史を紹介したいと思います。
プログラミング未経験だったチームがモバイルアプリ開発できるに至るまでです。
新規事業でアプリのための技術選定を考えている人の一助となれば幸いです。

開発ストーリー

始まり

PM「おい!アプリ作ろうぜ!」
私「面白そうですね!どんなアプリですか?」
PM「犬専用の音楽アプリはどうかな?」
私「OK!」

こんなに簡単なストーリーだったら説明しやすいのですが、そんなことはなく、
試行錯誤、紆余曲折あって今のサービスの形に辿り着きました。
詳しい経緯を話すとそれだけで日が暮れてしまいそうなので割愛しますが、
サービスの形さえ見えない状態の時もありました。

そんな中において、私たちのこだわりは研究開発型企業として技術を楽しむことです。
データ取得が必要になればIoTを自作したり、Webアプリが必要になればReactを触ってみたり。
常に新しいこと、新しい技術に挑戦してきました。

転機

犬専用の音楽アプリを作ってみよう」と決まってから、二つの技術的な出会いがありました。

一つ目は、Amplifyです。
Webアプリを開発しようとした時に、AWSのSAさんから
「React + Amplifyがいいよ!」
と勧めてもらったのは今でも感謝しています。

https://ja.reactjs.org/

https://docs.amplify.aws/

当時のamplifyはドキュメントも少なく、すぐ仕様も変更されるので苦労しましたが、
それでもお釣りが来るぐらい、素晴らしいサービスです。


二つ目は、React Nativeです。
先ほどのSAさんに勧められていた当時(3年ほど前)は、Reactをなんとか書けるレベルでした。
そのレベルの我々がモバイルアプリを作る方法はほぼ一択で、React Nativeでした。

https://reactnative.dev/

今ではFlutterに押され、「オワコン」なんて声が聞こえてきそうですが、
新規事業という文脈において、まだまだ有望なフレームワークだと思います。

https://zenn.dev/ototrip/articles/tech-article-1-introduction

そして現在

現在オトとりっぷは、AWS + React Nativeで構成されています。

AWSは、Amplifyを基本として、フルサーバーレスで構成されています。
バックエンドの各種リソース構築にはCDKも使用しています。

https://docs.aws.amazon.com/cdk/api/v2/

若干分散モノリスに近い状態ですが、これが意外と少人数でアジリティ高く開発できています。
できる限り技術的負債にならないよう工夫を凝らしながら頑張っています。

React Nativeは、React Navigationによるページ遷移とRedux Toolkitによる状態管理
を基本戦略として、APIをAmplifyに寄せた構成にしています。

https://reactnavigation.org/

https://redux-toolkit.js.org/

最後に

私たちは、Amplify + React Native のおかげでやるべきことに集中できています。
もしかしたら、これからこの構成では立ち行かなくなることもあるかもしれませんが、
それでもこだわりの技術を楽しむ姿勢で乗り越えていきたいと思います。

ここまで読んでいただきありがとうございました。
もし犬専用の音楽アプリに興味を持っていただけたら、ぜひダウンロードしてみてください!

https://www.oto-trip.com/

Discussion