またフレームワーク乗り換えた (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 から移行するかもしれない。