Upgrade to Pro — share decks privately, control downloads, hide ads and more …

スモールスタートのための技術スタック検討

Kawakami Natsumi
November 15, 2022
130

 スモールスタートのための技術スタック検討

Kawakami Natsumi

November 15, 2022
Tweet

Transcript

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  11. まとめ:「はやい・やすい・ちいさい」ではじめよう
    ● はやい

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

    View Slide

  12. ありがとうございました

    View Slide