最近 Next.js に再入門している。2023年の6月にあったメジャーバージョンアップで App Router が stable となる大きなパラダイム変更があり、これまで以上により洗練された。
これまで Ruby on Rails や Spring Boot を使ってきたが、どちらも素晴らしい OSS というのは前提で、やや重たく暗黙の実装が多くてスタートダッシュ期間以降はあまり良さを活かしきれないシーンも増えてくるというかんじであった( Spring Boot を使っていたのはかなり昔なので今は違うのかもしれない)。 Next.js はその点ちょうどよく薄い。公式サイトを見るとわかるように、 Web アプリケーションを動かすフレームワークというよりも Web アプリケーションをつくるためのツールセットというか、コードは基本的に自分で書くのがベースにある上で、周辺の面倒な部分を肩代わりしてくれるようなエコシステムを提供している。なので薄く見える。
従来のフルスタックフレームワークがサーバサイド側から見た視点で設計されているのに対して、Next.js は徹底して View 側というか Web 上の画面体験が主軸に置かれているのでユーザー体験も良くなりやすい。自分がいままで薄いフレームワークを好んできたのは、重くて小回りが効かなくなることでユーザー体験が毀損されるのを避けたかったからなんだなというのが Next.js を使って改めて自分の中で明文化されてきた。とても納得できた。