Slide 1

Slide 1 text

スモールスタートのための技術スタック検討 川上 奈津美 2022/09/27 arcana meetup

Slide 2

Slide 2 text

自己紹介 ● Kawakami Natsumi(@natsumican63) ● モバイルアプリとWeb開発をやっています ● 近況 ○ 子供を寝かしつけた後よなよな個人開発中 ○ 休みの日は朝8:00から踏切の前で体育座り

Slide 3

Slide 3 text

スタートアップが失敗する理由ランキング 1位 市場ニーズがなかった (42%) 2位 資金の枯渇 (29%) 3位 適切でないチーム構成 (23%) 引用:スタートアップが失敗する理由トップ 20

Slide 4

Slide 4 text

プロダクトアウトとマーケットイン ● プロダクトアウト ○ 会社の方針や作りたいもの、作れるものを基準にプロダクト開発を行うこと。作ってからどうやって 売るか考える ● マーケットイン ○ ユーザーのニーズに基づいてプロダクト開発を行うこと。ユーザーの意見を取り入れながらプロダク トを作る

Slide 5

Slide 5 text

まずはMVPを作って顧客の反応を確かめよう MVP (Minimal Viable Product — 最低限の価値を提供する製品)を作り、最速で顧客 に届ける。

Slide 6

Slide 6 text

どのような技術スタックを選べばいいか? ● 慣れ親しんだ技術 ○ アルカナにおけるLaravelとか ○ ※リッチなUXやモバイルアプリ対応がマストでなければ ● 低コスト・低実装で済む技術 今回は、モバイル優先とWeb優先の視点で 2つの技術スタックを紹介します

Slide 7

Slide 7 text

モバイル優先: Firebase + React Native Firebase ● DB、認証、ストレージなどバックエンド開発に必要な技術スタック全部入なので最 小限の実装コストですむ ● FirestoreのセキュリティールールとCloud Functionsを組み合わせてロールベース なアクセス制限やバリデーションを書いていく ○ テストコードもかけるよ ● ロジックは基本的にクライアント側が持つ ● Firestoreの設計がむずかしい ○ RDB脳にNoSQLはつらい ○ スキーマレスで型定義がない。 get()すると全データ`{[key: string]: any}`

Slide 8

Slide 8 text

React Native ● ストア審査を通さずにアプリを更新できるOTAアップデート機能 ● hooksでロジックを切り出せばWeb版へ資産を流用できる ● Flutterの方がトレンドではあるが、OTAがあまりにも強力すぎる(と思う

Slide 9

Slide 9 text

Web優先:Next.js on CloudRun + PlanetScale ● Next.jsのAPI Routes機能とPrismaでAPIも構築 ● DBはPlanetScale ○ 無料枠のあるMySQLマネージドサービス

Slide 10

Slide 10 text

Web優先:Next.js on CloudRun + PlanetScale デプロイ先 ● Vercelは(商用の場合)最低でも$20 /1ユーザーあたり月額はかかってしまう ● CloudRunの無料枠+従量課金制がよさそう

Slide 11

Slide 11 text

まとめ:「はやい・やすい・ちいさい」ではじめよう ● はやい ○ 顧客の声を素早く反映できる ● やすい ○ 低コストに運用できるサービスを選ぶ ● ちいさい ○ 意思決定に対し機動的に対処できる小さなチームを保つ

Slide 12

Slide 12 text

ありがとうございました