[2024/02/26 Update]
Vercel もDB 提供するようになったし、Planetscale や Supabase も出てきてます。この記事の内容は古いので鵜呑みにしないでください。
[2022/08/26 Update]
Heroku 有料になりましたね、、無念。
チラシの裏的な記事です。やっぱりなるべく無料にこだわりたい。
Next.js + Vercel + DynamoDB
- Vercel と DynamoDB の間に API Gateway と Lambda 挟むパターンだと API Gateway で課金される
- 実装例 https://github.com/leerob/nextjs-aws-dynamodb
- Vercel は個人的かつ非営利目的なら無料プラン利用可能
- Vercel の Serverless Functions はめちゃ便利
Node.js or Rails アプリ + Heroku + Heroku Postgres + Heroku Redis + その他アドオン
- Heroku やっぱ強い
- 他言語のアプリも載せられるけど(自分の使える言語の中だと)Node と Ruby のサポートがいい
- 無料の場合スリープモードへの対策が必要
- Next.js は単なる Node アプリなので Heroku にデプロイすることもできる(パフォーマンス的な意味での Next.js の良さは削がれる)
Create React App or Next.js (Static HTML Export) + Firebase Hosting + Firebase Authentication + Firestore + Cloud Storage
- Firebase に全部のっかるパターン、クライアントアプリは Firebase Hosting でホスティングしなくてもいいけど
- Firebase Authentication や Firestore などは単体でも便利なのでそこだけ切り出して Vercel(やその他サーバ)と繋げるのもあり
- サーバーに Firebase Admin SDK を追加する
- サーバで使う場合も SDK は Node.js が最優先のサポート対象っぽいので TypeScript 使っとくのが良さそう
- Cloud Functions 使えば外部 API も叩けるけど Blaze プラン必要
Dockerfile + Cloud Run
- Cloud Run は任意のコンテナをデプロイできるやつ、AWS でいうと ECS みたいなやつ?(よくわかってない)
GAE (Google App Engine)
- Google だし Go と相性いいのかしら(よくわかってない)
番外編「静的 Web サイトをホスティングするなら」
[2024/02/26 Update]
今なら Cloudflare Pages かなぁ
- 現状だと Netlify が一番好き
- GitHub Pages 好きだったけど Netlify と比べると反映遅いし、Firebase Hosting や Vercel を静的サイトのホスティングに使うのは何かオーバースペック感ある
感想
- やはり個人開発には Vercel, Heroku, Firebase 辺りが強い味方
- フロントエンドは Create React App と Next.js で迷ったら Next.js 使っとけばいいかな(静的サイトの場合でも)、と思ったけどまだ迷い中
- See. 普段使いから始めるNext.js
- Next.js は Jest と統合されてないのが少し不満(Zero Config を謳うなら Jest も入れといて欲しかった...)
- 一応 next.js/examples/with-typescript-eslint-jest at master · vercel/next.js はあったので、create-next-app の
--example
オプションで入れられる
- 一応 next.js/examples/with-typescript-eslint-jest at master · vercel/next.js はあったので、create-next-app の
- 不要な依存も入るし CRA の方がいいケースもあるかも
- とりあえず無料で個人開発するには無料で使えるサーバと DB(またはその代替となるもの)を見つけるのが鍵っぽい
- 要件的には外部 API を叩けることと任意のデータを永続化できること、かな