Hi 🙋‍♀️about me 😎posts 📚

またフレームワーク乗り換えた (Sapper -> Next.js)

原点回帰。

Nice to see you Next.js again, goodby Sapper.

「以前までこのサイトは Next.js をフレームワークに使っていたが、静的サイトに React を使うのはオーバーキルすぎるので Sapper に移行した」という記事を過去に投稿したが、今回また Sapper から Next.js へと乗り換えた。

Next.js を再採用した理由

Next.js のアップデートによる影響が大きい。

私が以前まで使っていた version と現在の Next.js ではフレームワークとしての完成度が全く異なっていると思えるくらい、その後のアップデートによる機能追加がめざましい。

v9.5 になることで deta fetching の方法が getInitialProps 意外にも複数用意され、ISR が可能になることで広義での従来の SSR が全く別の形で表現できるようになった。

v10 でも i18n 周りや Image Component の機能追加が記憶に新しいが、そのほかでは Next.js Analytics にも興味がひかれていた。

React を使っているという文脈でも、React Server Components が気になっているし、React team と Next.js team が協力して実装しているようで、試したいのであればもはや使う以外の選択肢があるのだろうか。

この辺りは流石の Vercel といったところで、色々と試したいことが増えてきた結果、やはり Next.js に再帰しようと考えたわけだ。

Svelte/Sapper の不満点

やはりまだまだ枯れていない技術なので、Verison アップのたびに braking changes が頻発して設定おうのがつらい。

あと Framework(Sapper) で提供されている最適化ではもの足りないので、自分でパッチ的なのをあてて最適化しているが、それを保守運用していくのも大変だ。

何より Sapper は将来的には廃止される予定なので、これ以上使い続けるのも得策ではないと思う。

とはいえ Svelte には可能性しか感じしていないので、SvelteKit が公式リリースされたら、また Next.js から移行するかもしれない。