Nuxt: 未来展望
2023年を振り返る - Sébastien
2023年1月、DanielはNuxt: 2023年の展望を提示しました。設定した目標のほとんどを達成しました。達成できなかったものもありますが、今年中に取り組んでいきます!
生産性の高い1年となり、チームは9つのマイナーリリース(v3.1からv3.9)を行いました。
最初の365日間で、Nuxt 3は新たなマイルストーンを達成しました
- GitHubで49.5Kのスター(あなたも追加しませんか 😊)
- npmで2700万ダウンロード
- Nuxtリポジトリで612人のコントリビューター
- 142人のメンテナーによって作成された184個のモジュール
- 2,423件のクローズ済みIssue
- 1,728件のマージ済みプルリクエスト
- Discordで26,300人のメンバー
10月末、Nuxt 3のダウンロード数はNuxt 2を上回りました 🚀。
同月、Nuxt 3対応と新しい機能を搭載したNuxt Image 1.0をリリースし、画像使用時のウェブサイトのパフォーマンス維持を確保しました。 <NuxtImg>
または<NuxtPicture>
コンポーネントの使用を開始すると、Nuxtは自動的にインストールされます。
Nuxt DevToolsをリリースし、Webフレームワークから期待できる開発者エクスペリエンスを向上させました。他のフレームワークも同様のアプローチを採用するようになり、大変嬉しく思っています:Vue DevTools、Next DevTools、Remix DevTools、Vite Plugin DevTools、Astro Dev Toolbarなど。
社内でUIライブラリを数ヶ月間開発した後、Benjamin CanacはNuxt UIをオープンソース化し、TailwindCSSで構築された高度にカスタマイズ可能なコンポーネントを使用して、より迅速にウェブサイトを作成できるようにしました。
Nuxt Contentは、パフォーマンスからMDC構文まで、さまざまな改善を伴う10回のマイナーリリースを行いました。 今後、エッジレンダリングをより適切にサポートするための作業が進行中です。同時に、NuxtLabsチームは、コンテンツをGitリポジトリ内に保持しながら、NotionのようなエディターでMarkdownファイルを編集できるNuxt Studioに取り組んでいます。
2024年の展望 - Daniel
2024年も既に進行しており、このアップデートは確かに遅れていました!
今後1年間、Nuxtをリードしていく方向性について、いくつかの考えを共有します。
継続的な開発と再考
エコシステムの変化するニーズにベストプラクティスを適応させ続け、優れた開発者エクスペリエンスの可能性を広げ、Nuxtを改善していくことを願っています。
現在のNuxtの提供内容には非常に満足しています。しかし、現状維持は望みません。Webプラットフォームの発展に伴い、新たな可能性を追求し続ける必要があります。Baseline Compatibilityへの取り組みを継続しており(W3C WebDXコミュニティグループとの議論にも参加しています)。
既存ユーザーの安定性を優先し、Nuxtエコシステムの規模を認識しながら、これを実現するための戦略をいくつか持っています。
- 一般的に、モジュールまたは実験的機能を導入するパターンに従っています。これは、フィードバックを収集し、新機能の方向性とAPIを確認する間、テストで無効にできます。
- Nuxtのコード変更が下流のプロジェクトを意図せず破壊しないことを検証するecosystem-ciパターンを採用しています。Nuxtに依存する十分にテストされたモジュールまたはライブラリを維持している場合は、プロジェクトをnuxt/ecosystem-ciに追加するPRを送信していただければ幸いです。
- プルベースのテストをリリースする予定です。これにより、CIを構成してNuxtの最新のナイトリーバージョンに対してテストを行い、アップグレード時の問題に直面するのではなく、新しいNuxtリリースに関する早期フィードバックを提供できます。
- 最後に、既存プロジェクトの更新に対するプッシュベースのアプローチを採用しました。破壊的な変更または改善を特定した場合、エコシステムに展開できる場合は、Nuxtモジュール(および、程度は低いですが、Nuxtを使用する他のオープンソースプロジェクト)に積極的にPRを提出します。
これにより、安定性と保守性を犠牲にすることなく、新しい機能の革新と実験を継続できると考えています。
特に、以下の項目の積極的な開発にご注目ください。
- ✅ nuxt/fonts - v1.0.0に向けて開発中
- ✅ nuxt/eslint - v1.0.0に向けて開発中
- 🔥 nuxt/scripts - 近日リリース予定
- 🚧 nuxt/a11y - 近日公開予定!
- 🚧 nuxt/auth - 近日公開予定!
- 🚧 nuxt/hints - 近日公開予定!
持続可能なオープンソース
Nuxtを長期的に独立したコミュニティ主導のフレームワークであり続けたいと考えています。
Nuxtを基盤とした成功したビジネスや、スポンサーになったり、コアフレームワークに貢献したりするNuxtを中心としたイニシアチブが増えているのを見て、大変嬉しく思っています。これにより、Nuxtの継続的な開発が可能になります。
もちろん、NuxtLabsはその好例です。Pooya Parsa、Anthony Fu、そして私は、Nuxt周辺の有料サービスのおかげでオープンソースにフルタイムで取り組むことができます:Nuxt UI Pro、Nuxt Experts、Nuxt Studio、そしてNuxtHub(近日公開)。彼らはまた、Vue、Vite、UnJS、Nuxtからコミュニティメンバーをスポンサーしています。
私にとって、Nuxtの将来の独立性と持続可能性を維持するには、活気のある成長するチームとコミュニティが必要です。今後数週間のうちに、コアチームに加えてより広範な「Nuxtチーム」を発表する予定です。これは、Nuxtを現在のものたらしめている多くの人の貢献を認めるためです。
今後数年間で、チームメンバーやより広いコミュニティのメンバーがNuxtエコシステムで活動できるように、より多くのスポンサーシップを得たいと考えています。貴社の事業がNuxtから恩恵を受けている場合は、チームメンバーまたはより広いコミュニティメンバーに関わらず、Nuxtに取り組んでいる開発者をスポンサーすることを検討ください。
フレンドリーなコラボレーション
Nuxt 3の開発開始以来、私たちが恩恵を受けているユーティリティ、ライブラリ、さらにはフレームワークを抽出し、より幅広いオーディエンスにも恩恵をもたらせるように努めてきました。
もちろん、それがUnJSの起源であり、Pooya Parsa(Nuxtコアチームの主要メンバーでもある)のリーダーシップの下で繁栄し続けています。
私たちは、フレンドリーなコラボレーションの姿勢を継続したいと考えています。自分たちで物事を構築したり、自分たちだけで保持したりすることが「成功」となるかもしれませんが、ゼロサムゲームには時間はありません。フレームワークとしても、Webコミュニティとしても、一緒に構築することで、より遠くまで進むことができます。
同様に、私たちの主要な価値観の1つはプラットフォームの独立性です(深いプラットフォームとの統合と併せて)。デプロイメント、テスト、ストーリー、KVとキャッシュ、データベース、画像CDN、フォントホストなど、90以上のプロバイダーをサポートしています。この広範なエコシステムは豊かな報酬をもたらし、人々がもたらす価値に基づいてどのプロバイダーを使用するかを選択する自由を与えます。しかし、それは同時に、これらの統合を最新の状態に維持するために、これらの異なるプロバイダーを使用するコミュニティに依存していることを意味します。
Nuxtはどこにも行きませんが、私たちが協力して行う仕事は、私たちを超えて長く続くことを願っています。
温かいコミュニティ
技術的卓越性や開発者エクスペリエンスの質に焦点を当てるのは簡単ですが、Nuxtエコシステムが温かくフレンドリーなコミュニティとして成長し続けているのを見るほど励まされることはありません。
コミュニティDiscord、Twitter、GitHubで、好意的な雰囲気が広がっていることに感謝しています。
Nuxt 4はどうなりますか?
JavaScriptの世界では、毎週新しいフレームワークが登場することが知られており、自然なハイプサイクルが存在します。
しかし、Nuxtの継続的な開発においてハイプを目指しているわけではありません。それが、私たちが定期的なリリースサイクルにコミットしている理由の一部です。
- メジャーリリース:年1回
- マイナーリリース:約月1回
- パッチリリース:約週1回
メジャーリリースでは破壊的変更が、マイナーリリースでは機能が提供されることを期待できます。つまり、Nuxt 4のために機能を保留しているわけではなく、6週間ごとのマイナーリリースサイクルでできる限り定期的に提供します。
Nuxt 4は、簡単な移行パス(理想的には自動化されたプロセスを使用)または以前の動作を選択できるオプションを提供することにより、慎重に行われた破壊的変更の機会としたいと考えています。
Nuxt 2から3への移行からチームとして学んだ教訓が間違いなくあり、Nuxt 4はメジャーリリースがユーザーにとって良い体験になり得ることを証明する機会だと考えています。
ご検討中の変更点は、ロードマップを参照するか、v4用にタグ付けされた課題を確認することでプレビューできます。フィードバックとご要望は、いつもどおり大歓迎です!
タイムテーブル
Nuxt 4のロードマップは、UnJSエコシステム全体でメジャーリリースも計画しているため、やや複雑です。
概ね、Nuxt v3とNitro v2のマイナーリリースをもう1回行い、その後、UnJSエコシステムのパッケージ全体における一連のメジャーリリースを開始し、Nuxt v4で完了する予定です。
Nuxt v4は6月14日までにリリースすることを目指しています(ただし、これは明らかに、Nitroのメジャーリリース後にコミュニティで適切にテストするための十分な時間があるかに依存するため、正確な日付ではないことにご注意ください)。
継続的なサポート
Nuxt v4のリリース後、Nuxt v3に対して6ヶ月間の継続的なサポートとバグ修正を提供します。これは、スムーズなアップグレードパスを目指しているため、v4へのアップグレードには十分すぎる期間と考えています。
Nuxt v4のリリースが間近に迫っていることを、私たちと同じくらい楽しみにしていることを願っています!🎉
最後に、Nuxtの開発において、皆様からの信頼とサポートに深く感謝申し上げます。Nuxtコミュニティの皆様と共にこの活動に取り組めることを、チーム全員を代表して大変光栄に思っています!❤️
ダニエル(Nuxtチーム全体を代表して)