Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
スモールスタートのための技術スタック検討
Search
Kawakami Natsumi
November 15, 2022
0
290
スモールスタートのための技術スタック検討
Kawakami Natsumi
November 15, 2022
Tweet
Share
More Decks by Kawakami Natsumi
See All by Kawakami Natsumi
個人開発サービスを使ってもらうための技術選定
natsumican63
1
1.5k
個人開発を加速させる効率アップ戦術
natsumican63
19
11k
がんばらない個人開発
natsumican63
1
1.4k
GraphQL with Apollo Client
natsumican63
0
480
Featured
See All Featured
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
29
9.5k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
357
30k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
30
2.4k
Building Flexible Design Systems
yeseniaperezcruz
329
39k
Music & Morning Musume
bryan
47
6.6k
Product Roadmaps are Hard
iamctodd
PRO
53
11k
Embracing the Ebb and Flow
colly
85
4.7k
How to Ace a Technical Interview
jacobian
276
23k
Producing Creativity
orderedlist
PRO
346
40k
Making Projects Easy
brettharned
116
6.2k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2.1k
Unsuck your backbone
ammeep
671
58k
Transcript
スモールスタートのための技術スタック検討 川上 奈津美 2022/09/27 arcana meetup
自己紹介 • Kawakami Natsumi(@natsumican63) • モバイルアプリとWeb開発をやっています • 近況 ◦ 子供を寝かしつけた後よなよな個人開発中
◦ 休みの日は朝8:00から踏切の前で体育座り
スタートアップが失敗する理由ランキング 1位 市場ニーズがなかった (42%) 2位 資金の枯渇 (29%) 3位 適切でないチーム構成 (23%)
引用:スタートアップが失敗する理由トップ 20
プロダクトアウトとマーケットイン • プロダクトアウト ◦ 会社の方針や作りたいもの、作れるものを基準にプロダクト開発を行うこと。作ってからどうやって 売るか考える • マーケットイン ◦ ユーザーのニーズに基づいてプロダクト開発を行うこと。ユーザーの意見を取り入れながらプロダク
トを作る
まずはMVPを作って顧客の反応を確かめよう MVP (Minimal Viable Product — 最低限の価値を提供する製品)を作り、最速で顧客 に届ける。
どのような技術スタックを選べばいいか? • 慣れ親しんだ技術 ◦ アルカナにおけるLaravelとか ◦ ※リッチなUXやモバイルアプリ対応がマストでなければ • 低コスト・低実装で済む技術 今回は、モバイル優先とWeb優先の視点で
2つの技術スタックを紹介します
モバイル優先: Firebase + React Native Firebase • DB、認証、ストレージなどバックエンド開発に必要な技術スタック全部入なので最 小限の実装コストですむ •
FirestoreのセキュリティールールとCloud Functionsを組み合わせてロールベース なアクセス制限やバリデーションを書いていく ◦ テストコードもかけるよ • ロジックは基本的にクライアント側が持つ • Firestoreの設計がむずかしい ◦ RDB脳にNoSQLはつらい ◦ スキーマレスで型定義がない。 get()すると全データ`{[key: string]: any}`
React Native • ストア審査を通さずにアプリを更新できるOTAアップデート機能 • hooksでロジックを切り出せばWeb版へ資産を流用できる • Flutterの方がトレンドではあるが、OTAがあまりにも強力すぎる(と思う
Web優先:Next.js on CloudRun + PlanetScale • Next.jsのAPI Routes機能とPrismaでAPIも構築 • DBはPlanetScale
◦ 無料枠のあるMySQLマネージドサービス
Web優先:Next.js on CloudRun + PlanetScale デプロイ先 • Vercelは(商用の場合)最低でも$20 /1ユーザーあたり月額はかかってしまう •
CloudRunの無料枠+従量課金制がよさそう
まとめ:「はやい・やすい・ちいさい」ではじめよう • はやい ◦ 顧客の声を素早く反映できる • やすい ◦ 低コストに運用できるサービスを選ぶ •
ちいさい ◦ 意思決定に対し機動的に対処できる小さなチームを保つ
ありがとうございました