🤑

びんぼーうぇぶあーきてくちゃ

2023/08/07に公開
4

はじめに

Web開発をすると、様々な障壁がありますが、その中でも一番大きい障壁がお金です。
特に自分のような学生などは別に金額の問題ではなく、そもそも1円も出せない人が多いのではないでしょうか。(ドメイン代は別として)
そこで、1円も出せない環境でも爆速かつ快適、プログラマブルな開発・デプロイを行える新しいアーキテクチャについて書いていきたいと思います。

筆者について

100いいねありがとうございますm(_ )m
筆者はのんびり個人開発をしている学生です。
kanadesh.comでブログをちょっとだけやってもいるので、ぜひ遊びに来て下さいm(
_)m

注意事項

  • 本記事ではドメイン代は抜いているので、独自ドメインが欲しい場合は別途費用がかかります
  • 本記事では無料という点に合わせてなるべく依存先を増やさないアーキテクチャにしてます
  • TypeScriptやNext.jsなどの開発関連とCloudflareなどのデプロイ関連に分けています

開発関連

TypeScript

https://typescriptlang.org
もはや王道といっても過言ではないAltJSを卓越したプログラミング言語です。
TypeScript-firstなライブラリも特に多いのでJavaScriptよりこっちをやりましょう。
自分も昔はTypeScript嫌いだったんですが、一度ハマると戻れませんね。

GraphQL(Apollo Server)

https://graphql.org
バックエンド側はApollo Serverがデファクトスタンダードですね。
tRPCなどと比べて外部APIも作りやすいのでRPC系よりこっちをおすすめします。

urql(GraphQL client)

https://formidable.com/open-source/urql/
クライアントサイドはurqlを使いましょう。Apollo Clientより簡単で良いです。

Drizzle ORM

https://orm.drizzle.team
正直Prismaを使っている人は全員こっちに乗り換えたほうが良いです。
Prismaのスキーマの生成とか正直面倒です。Drizzleだとそれをしなくてすみますし、TypeScript-Firstです。
Sequelizeも良いんですが、ちょっとシンプルすぎるのでアレですね。

Next.js

https://nextjs.org
安定。SvelteKitなどよりとにかくネットの情報量が多いです。
App Routerはマストです。使えないライブラリ(特にプログレスバー系)もありますが仕方ありません。
未来のためにApp Routerに投資しておきましょう。
なにより、Next.jsは後述するCloudflareとの相性が良いです。
最近next-on-pagesっていうツールもv1を迎えたし、KVにもアクセス出来たりします。

TailwindCSS

https://tailwindcss.com
世界中のWebデザイナはこれを使うべきです。
正直クラス指定は面倒だとか言う人も居ますが、使いましょう。

Shadcn UI

https://ui.shadcn.com
最近出た新参UIライブラリ?です。
初見の感想はとにかく使いやすいです。ライブラリというよりはコピペに近い感じ。Next.jsとの相性は最高です。
デザインもきれい。

Auth.js(NextAuth.js)

https://authjs.dev
Clerkなどのサードパーティの選択肢もあるにはあるんですが、高いですしオンデマンドで作っちゃいましょう。

デプロイ関連

Cloudflare Pages

https://pages.cloudflare.com/
Cloudflareはマストです。PagesにNext.jsをデプロイしちゃいましょう。
Pages Functionsがあるので、SSRやAPI Routesも簡単にそのまま実現可能だったり。

Cloudflare KV

https://developers.cloudflare.com/workers/learning/how-kv-works/
Redisとかよりこれを使いましょう。
無料で1GB使えるし、使用も簡単。
Cloudflareの高性能なキーバリューストアです。

○ Cloudflare D1

https://developers.cloudflare.com/d1/
まだOpen Alphaですが可能性大のDBです。
SQLiteをベースとしており、Cloudflareによって全世界へReplicaがばらまかれます。
分散最高!
なにより実現されれば1GB/$0.75と超安。

△ CockroachDB Serverless

https://www.cockroachlabs.com/lp/serverless/
上のD1の代替案です。
こちらは既に10GB無料で、その後も1GB/$0.5と激安。
CockroachDBはPostgreSQLと互換性があったりするらしいので使いやすいかも?

+ More...

ドメインはCloudflare Registrarをおすすめします。
こちらは原価でドメインを購入できるすぐれものです。
8/4に.appや.devにも対応したそうなので、さらなる期待!
エックスドメインで1円でとって、その後移管するのも良いみたい。

おわりに

初めてZennで記事を書いてみました。
このアーキテクチャで少しでもお財布が救われる方がいれば幸いです。
さらなる更新もあるかもしれないので、💗で保存をお願いしますm(_ _)m

追記

NextのServer Actionsを知りました。
もしかしたらGraphQL要らないかもです...

Discussion

susiyakisusiyaki

Web開発をすると、様々な障壁がありますが、その中でも一番大きい障壁が壁です

たぶん壁→金ですよね
でもなんか好きですw