VuePress2 vs VitePress

背景

Vue には VuePress という人気の Static Site Generator (SSG) がありました。
しかし、VuePress の開発が停滞し、結果2つの後継プロジェクトが立ち上がりました。
それが、VuePress2 と VitePressです。

当初開発されていたのは VuePress2 でしたが、Vue の創始者 Evan You が 新たなフロントエンドツールとして「Vite」を開発しました。
そのため、Vite を使ったシステムとして VitePress が開発されるに至り、トップが VitePress を開発しているので、VitePress が Vue 推奨になったという流れのようです。

VuePressは現在メンテナンス中です。Vue 3 + Viteの上に構築された次世代のVueベースのSSGについては、VitePressをチェックしてください。

https://github.com/vuejs/vuepress

また、VuePress 1との互換性を高め、Vue 3とViteをサポートするVuePress 2にも力を入れています。しかし、2つのSSGを並行して維持することは持続可能ではないため、Vueチームは長期的にはVitePressを主な推奨SSGとすることを決定しました。

https://vitepress.dev/guide/what-is-vitepress

※ 日本語に翻訳してあります。

VuePress2
https://v2.vuepress.vuejs.org/
https://github.com/vuepress/vuepress-next

VitePress
https://vitepress.dev/
https://github.com/vuejs/vitepress

なんかいつも衰退と興隆を繰り返してるな・・・

比較表

表と題しておきながら、引用のみです。

vitepressは高速でシンプルです。

vitepressはviteをベースに構築されており、esmをネイティブでサポートしています。

vitepressにはプラグインシステムがなく、ローカルテーマ(.vitepress/theme)のみをサポートしています。

vitepressはEvan Youと彼のチームによるサポートがあります。

Vuepressはパワフル

Vuepressにはプラグインとテーマアプリがあり、優れたエコシステムを持っています。プラグインを使うだけで、プロジェクトに新しい機能を追加できます。

現在、vuepress2はwebpack5を使用しており、vitepressと比較して起動やhmrが非常に遅いです❌が、@meteorlxyはviteをサポートする予定があります✔。

Evan Youは自分のチームでvuepressのサポートを中止しているので、@meteorlxyによるコミュニティプロジェクトである可能性が高い。しかし、このプロジェクトは素晴らしいコードクオリティを持っているので、私のようにこのプロジェクトにヘルプを出す人はもっと増えると思います。

https://github.com/vuepress/vuepress-next/discussions/48

これは VuePress2 のIssueですが、状況を正確に表しているように思います。

VitePress は Vue のトップが開発を率いている関係でエンジニアが集まっておりスピード感があります。
しかし機能は限定的です。デフォルトのテーマと、デフォルトの機能程度しかありません。
このデフォルト機能もまぁちょっと少ないですね。

一方で、VuePress2 は @meteorlxy という方が開発しているのみの状況となっています。
更新は積極的に行われていますが、彼が開発を止めれば終わりという状況です。
※ まぁSSGにセキュリティ問題など起きないので、そこまで困らないかもしれませんが

VuePress2の豊富なプラグイン一覧
https://github.com/vuepress/awesome-vuepress/blob/main/v2.md

どっちを選ぶ?

どちらを選ぶかと言われれば、私は VuePress2 を選びます。

なぜなら、Static Site Generator は Github Actions など CI ツールでビルドしてからサーバーにデプロイするので、負荷やスピードはあまり問題になりません。
当然、速い方がいいのですが、機能面を犠牲にするほどではないということですね。

将来的には VitePress の方が優勢になるかもしれませんが、現状では VuePress2 の方が使いやすいと判断しました。

コメント

タイトルとURLをコピーしました