Nuxt2から3へ移行した感想。なぜ人々はNuxtを選ぶのか

公開日:2023/2/14更新日:2023/2/15

数年前にNuxt2で構築した当サイトをNuxt3で再構築しました。便利ツールのはずのNuxt Bridgeがまったく使い物にならず1から始めることになり、正式版リリースは延期に延期を重ね、「なぜ私はNuxt3を使わなければいけないのか?」と自問自答しながらのフルリニューアルでしたが、色々と経験できたのでアウトプットしたいと思います。

Nuxt2から3の移行は無理ゲー

巷で散々言われていますが、Nuxt2からNuxt3への移行はかなり厳しいです。私はNuxt Bridgeが登場してすぐのタイミングで使い始めたのですが、私のサイト構成が悪いのか、使っているモジュールが悪いのか、ずっと消えない大量のエラーを前に「Nuxt3で1から構築した方が早いな…」と、フルリニューアルもとい新規開発を始めました。

しかし、ご存知の通り(?)、Nuxt3はリリースが延期に延期を重ね、常に何かしらのバグがあり、静的ビルドのサポートも遅く、誰に頼まれたわけでもないのになぜNuxt3を使うのか自分でも意味不明でしたが、ここで他のフレームワークに移行すると逃げたような感じがして嫌だったので、変な意地だけでNuxt3での開発を続けました。

Why Nuxt

Nuxt2と比較すると、Nuxt3は確かに使いやすいです。Nuxt2の時はTypeScriptを導入するのも、Vuexを使うのも、静的ビルド(SSG)をするのも、細かいチューニングが必要で大変でしたが、そういったデメリットが解消されています。

しかし、あくまでNuxt2との比較であり、Next.js、Gatsby.js、Astroなど他の優秀なフレームワークと比較すると、「そんなにNuxt3いいか?」と思ってしまいます。

「静的サイトを作る」くらいのふわっとした目的であれば、Nuxtは今やベストな選択肢ではないと思いますし、同時進行でAstroで静的サイトを構築しましたが、Astroの方が断然使いやすかったです。

フレームワークの選定には、開発メンバーの保有スキルや実現したいこと(やりたいこと)が密接に関係するため一概には言えませんが、「Nuxtでしかやれないこと」「Nuxtを使うと良いこと」もそんなに思いつかないので、Nuxtユーザーに「あなたはなぜNuxtを使いますか?」と聞いてみたいです。

Nuxtを今後も使うべきか

私がNuxt2を使ったきっかけは「なんか色々なところでプッシュされているから」に過ぎず、「Nuxtっていうのを使うとモダンな技術で静的サイトが作れるんだ」ぐらいの状態でした。

そして、Nuxt3を使った理由は「ただの意地」であり、キャッチアップしていないことによる機会損失を防ぐためです。

そのため、個人的には今後も何らかのプロジェクトでNuxtを使い続けますが、開発のスピード感やモジュールの対応具合を見ていると、「みんな徐々にNuxtからフェードアウトしてない?」と危機感を覚えているのが正直なところです。

一例として、一時期Nuxt ImageのGithubに張り付いていたことがあったんですが、あるユーザーが「何があってこんなに対応が遅くなっているんですか?」とコメントを投稿していて、みんな同じこと思っているんだなぁ…と共感したことがあります。(※ちなみに、対応が待ちきれずに画像の静的生成機能を自作しました)

今や、アップデートを頻繁に行なってブラッシュアップしているフレームワークも多いですし、新しいアプローチで発展を遂げているフレームワークも登場してきているので、Nuxtも負けじと、4、5と…どんどん進化して欲しいのですが、2から3への進化の度合いを考えると、ちょっと雲行きが怪しいなーなんて思っています。