最近 Next.js を使ってるという話を見かけることが以前より増えてる気がします
昔使ったときはあまり使ってみようと思えるものでもなく使いやすくもなく Nuxt.js のほうが良い印象でした
なんというか悪い意味での企業がやってるツールって感じだったのですよね
コミュニティがやってる OSS に比べて製品ぽいわかりづらいホームページでドキュメント等もなんか見づらい感じでした
この何年かで Next.js が大きく改善した みたいな話も聞いたことはあります
良くなってるなら使ってみるのもありかなと久々に見てみました
ぱっと見ではあまり変わった気はしません
相変わらず作ってる Vercel と混ざっていてわかりづらいページです
使わなかった一番の理由である SSR のみサポートがどうなったかを見てみたのですが 変わったような話が見当たりません
SSR の無効化機能をリクエストする issue も放置気味のようです
未だに SSR 前提みたいですね
SSR は要らなくて 単純に CSR の SPA ページを作りたいのですが それをサポートしていません
Nuxt.js は 以前使ったときは SPA と SSR を全体オプションで簡単に切り替えできました
Next.js にもあっても良さそうな機能なのに無いようです
SSR できないコンポーネントはありえるので コンポーネント単位での SSR 無効化はあるらしいです
しかしアプリケーション全体として SSR の無効化ができないようです
完全にできないというわけではないらしく 探せばやってる例はあるのですが やらなくていい苦労をやってるような感じです
できはするが辛いので推奨しないと書かれていたり そういうことをするなら Next.js を使う必要はない CRA を使ったほうがいい といったコメントがついてたりもします
Next.js も Rails のような こういうファイルはここに置くとかフレームワーク側で事前に色々決められてる系で それに従えば楽に作れるけど外れると辛くなるというタイプのフレームワークのようです
楽に使えるならと使ってみようかと思いましたが そんな辛くなるなら無理に Next.js を使う必要もないので今回もやめておきます
それにしてもそんな Next.js がそこまで人気というのがよくわかりません
みんなそんなに SSR したいのでしょうか?
開発時だけではなく 本番用環境のサーバにまで Next.js が必要になってサーバサイドの自由度が減ると思うのですけど
フロントエンド都合はサーバ側に持ち込みたくなくて API を共有するだけで完全に独立したアプリケーションであってほしいという自分からするとサーバサイドに Next.js 必須になる SSR は敷居が高すぎるのですけどねー