Static Siteを作るときの自分の選択
Static SiteといってもHTMLを置くだけのものから、補助的にFaaS使うとかもある。結果的にはJAMStackというやつですね。SSGなどで実現する。
UI/CSS Frameworkはまた広い選択肢があるだろうから書いていない。
さっとやるなら「★」をつけたものを大体使うかな。
Builder/Bundler
- 小規模・ワンページ
- ★ Vite https://vitejs.dev/
- esbuildベース。個人的にはだいぶ安定感が感じられる。
- Webpack
- 個人規模では、管理・保守が大変すぎてなるべく直接使いたくないが、枯れているし、圧倒的なカスタマイザビリティ。math.luma.dev では Next.js とともにカスタマイズして使っている。
- bit https://bit.dev/
- 期待の新星。内部は今のところ webpack。
- 現在はドキュメントの更新が追いついてないのか、初心者なのにドキュメント読むのに歴史とかわからないと難しそうということで、そこまでやるほどでもないなという気持ち。あまりすごい突っ込もうという気持ちでもないし、enterprise級からはまだまだ遠いかな。
- Rollup
- Percel
- ★ Vite https://vitejs.dev/
- 中規模・複数ページ
- Next.js 系列。Nuxt.js や Gatsby 等も含む。
- Next.js がシンプルに(この中では)好み。完璧だとも思ってないが。
- Next.js 系列。Nuxt.js や Gatsby 等も含む。
Component Framework
- ★ React
- ★ 本家 (webpack, percel, rollup, vite)
- SolidJS (vite)
- Preact (webpack)
- Brahmos (webpack, percel, rollup, babel)
- Vue.js
- ★ Svelte
- HTML直接
- Web Components
- Preact
- Vue.js
- Alpine.js (syntaxはVue.js like)
- Lit (旧 Polymer)
- Angular.js
Hosting/Deployment
- ★ GitHub Pages
- 自社。実質Azureということだと思うけど。
- ★ Vercel
- AWS Based (source: https://vercel.com/docs/concepts/limits/overview )
- Netlify
- Cloudflare Pages
- AWS Beanstalk 系列。GCloud App Engine とか
- staticなのかわからんし、使ったことなし。
- AWS Amplify 系列。Firebaseとか?
- これもあんまり使ったことなし。
- Self ((AWS S3 + Lambda Function) 系列)
- 一番大変だろうけど一番コントロールしやすい? でも S3 はルーティングがコントロールしにくい。 .html を露出しないようにとかはできなさそう?
- Begin.com
- 期待しているのだが、デプロイがバグる。DynamoDBを強く抽象化しているので大規模には当然向かない。
- bit.cloud
- bit のクラウドサービス。ちょっと気になる。