はじめに
こんにちは!株式会社リンクアンドモチベーションの中上です。
10月19日(土)に開催される Vue Fes Japan 2024、皆さんも楽しみにしていることでしょう。
弊社リンクアンドモチベーションは、今年のVue Fes Japan 2024にプラチナスポンサーとして協賛しております。当日は私も、「AIとともに歩んだライブラリアップデートの道のり」というセッションで登壇いたします!さらに、PRブースも出展予定ですので、ぜひお立ち寄りください。
すでに公開されているタイムテーブルを確認しましたが、今回のVue Fes Japanには、Vue.js関連エコシステムのコアメンバーが国内外から集まります。技術的に非常にレベルの高いセッションが期待できそうです!
私自身、普段からVue.jsを使用していますが、すべてのエコシステムに精通しているわけではありません。そのため、事前に予習をしてイベント当日を迎えたいと考えています。
本記事では、Vue Fes Japan 2024のセッション情報から、個人的に注目しているセッションと、その予習に向けて考えていることをまとめてみました。
参加予定の方はもちろん、これから参加を検討されている方も、ぜひ参考にしてみてください!
個人的に注目しているセッション
Oxc - The JavaScript Oxidation Compiler - @Boshen Chen
Oxcは、Rustで開発された高速なJavaScriptコンパイラで、現在Rolldownのコンパイラとして採用されており、将来的にはViteでも使用される予定です。
このセッションでは、Oxcプロジェクトの全体像や、高速なコンパイラを実現するためにパフォーマンスエンジニアリングに注力した点、さらにこのプロジェクトにどのように参加できるかについて、開発者であるBoshen Chen氏が詳しく解説してくださいます。
Boshen Chen氏は、Rustで書かれたJavaScriptツール群「Oxc」の創設者であり、Rustやパフォーマンスエンジニアリング、インフラ関連の開発に情熱を持つエンジニアです。
予習しておこうと考えていること
正直なところ、まだOxcのコードをじっくりと読んだことがないので、まずはリポジトリをチェックしてみようと思います。OxcはRustで開発されているため、Rustの基礎知識も復習しておきたいと考えています。
また、Oxcが他のOSS、特にVue.jsやViteとどのように関連しているのかを事前に把握しておくことで、セッションの内容をより深く理解できるのではないかと思います。
Anthony's Road to Open Source - Yak Shaving - @Anthony Fu
Vue.jsのコアチームメンバーであり、多くのオープンソースプロジェクトに深く関わるAnthony Fu氏が、自身のオープンソースへの道のりと、成功するプロジェクトを築くためのアイデアの生み出し方について語ってくれます。
Anthony Fu氏は、NuxtLabsで活躍する傍ら、Vitest、Slidev、VueUse、UnoCSS、Elk、Type Challengesなどのプロジェクトに貢献しています。また、Vue.js、Nuxt、Viteのコアチームメンバーとして、エコシステムの発展に大きく寄与しています。さらに、Shiki、Twoslash、ESLint Stylisticのメンテナンスも手がけるなど、その活動は多岐にわたります。
予習しておこうと考えていること
実のところ、私自身、長い間OSSへの貢献をしたいと考えながらも、なかなか行動に移せていませんでした。そこで、このセッションに向けては、Anthony Fu氏が関わっている各OSSプロジェクトの詳細だけでなく、それらのプロジェクト間の関連性や、彼がどのような経緯でそれらに携わってきたのかを事前に学びたいと思います。
このセッションをきっかけに、私もOSSへの貢献活動を始める一歩を踏み出したいと考えています。
UnJS: The Missing Tools for the Modern Web - @Pooya Parsa
現代のWeb開発に欠かせない強力なTypeScriptライブラリ群であるUnJSについて、開発者のPooya Parsa氏がその全貌を語ります。UnJSは、多くのモダンなフレームワークの基盤となる重要なツールセットですが、なぜUnJSが生まれたのか?NuxtやNitroとの関係は?そして、自身のプロジェクトでUnJSをどのように活用できるのか?
このセッションでは、UnJSエコシステムの背景にあるストーリーや、そのコンポーネントがどのように連携してWeb開発を簡素化しているのかを深掘りします。
あとは、「Plus, a surprise announcement might be waiting for you!」この一文がとても気になっています!
予習しておこうと考えていること
UnJSについては名前を聞いたことがあるものの、詳しく理解できていない部分も多いので、事前に公式サイトやGitHubリポジトリをチェックしてみようと思います。また、UnJSがNuxtやNitroとどのように関連しているのかを調べておくことで、セッション内容をより深く理解できるのではないかと考えています。
Vue Vapor: Reinvention - @Kevin Deng
Vue Vaporは、従来の仮想DOMをVueのリアクティブシステムで置き換える革新的なアプローチです。Vueのコアレンダリングを再定義することで、軽量なパフォーマンスと効率性のバランスを実現しています。このセッションでは、Vue Vaporのレンダリング原理、開発の進捗状況、そしてベストプラクティスについて詳しく探求します。
予習しておこうと考えていること
Vue Vaporは、Vue.jsのレンダリングプロセスを再構築する試みであり、その仕組みを理解するために、まずはVue 3のリアクティブシステムについて復習しようと思います。また、仮想DOMの利点と課題を再確認することで、「なぜVue Vaporが生まれたのか」その背景を深く理解できるのではないかと考えています。
Demystifying Vite Internals - @Nozomu Ikuta
このセッションでは、Viteの便利な使い方やテクニックではなく、その内部構造がどのように動作しているのか、をゼロから詳細に解説してくれます。具体的には、以下のトピックが取り上げられる予定です。
- Vite ConfigがなぜTypeScriptで記述できるのか(Vite Configの処理の仕組み)
- Rollupを使用していない開発環境でもRollupプラグインが利用できる理由(プラグインコンテナの仕組み)
- 開発サーバーで実際に何が起こっているのか(リクエスト処理の流れ)
- HMR(ホットモジュールリプレースメント)がどのように実現されているのか
- モジュールグラフなどの内部実装の解説
予習しておこうと考えていること
私自身、Viteの基本的な使い方は理解していますが、その内部動作については詳しくありません。
そこで、事前にViteの公式ドキュメントやソースコードを少し読んでみる予定です。また、esbuildやRollup、そして今後の採用が期待されているRolldownの基本的な動作原理についても復習しておくことで、セッション内容をより深く理解できるのではないかと考えています。
Gems of Nuxt: 8 Features Every Nuxt Developer Should Know! - @Alexander Lichter
このセッションでは、Nuxt 4のリリースで何が起こったのかを詳細に見るのではなく、Nuxtアプリケーションをより良くするためのあまり知られていない8つの機能やパターンを紹介してくれます。
- ボイラープレートコードを減らす方法
- より表現力豊かなコードを書くテクニック
- 未知の可能性を引き出す機能
- バグを減らすためのベストプラクティス
予習しておこうと考えていること
Nuxt 4についてはリリースノートを一通り読んでみましたが、まだ深く理解していない部分も多いです。そこで、事前にNuxt 4の公式ドキュメントや新機能に関する記事を読み込んでおこうと思います。
Deep dive into Nuxt Server Components - @wattanx
Nuxtは、個々のコンポーネントをサーバーサイドでレンダリングできるNuxt Server Componentsを提供しています。このセッションでは、Nuxt Server Componentsを最小限の機能で実装し、その仕組みについて詳しく解説してくれます。
予習しておこうと考えていること
まだ弊社のプロダクトでNuxt Server Componentsを採用したことが無いため、事前に公式ドキュメントや関連するブログ記事を読んで基礎を押さえておきたいと思います。また、その他のレンダリング手法との違いについても復習しておきたいと思います。
次世代フロントエンドクロストーク
皆さん、最近Rustで実装されたJavaScriptエコシステムが増えていることにお気づきでしょうか?例えば、Oxc、Biome、Turbo、Rspack、SWCなど、多くのプロジェクトでRustが採用されています。さらに、Vue.js関連のエコシステムでも、Viteで使用されているRollupをRustで再実装するプロジェクトが進行中とのことです。
これからのフロントエンド開発において、Rustは主流となるのでしょうか? そして、現在のJavaScript製のエコシステムは、いずれRustで再実装されるのでしょうか?
今回のクロストークでは、JavaScript関連のOSSで活躍されている方々や、海外からのゲストスピーカーであるEvan You氏、Boshen Chen氏が集まり、今後のJavaScriptエコシステムがどのように進化していくのかについて議論されるそうです。
予習しておこうと考えていること
前述のセッションで予習しようと計画している内容をしっかりと学んでおけば、このクロストークもより深く楽しめそうです!
おわりに
いかがでしたか?
今年のVue Fes Japan 2024は、最新技術から注目度の高いOSSオープンソースの動向まで、幅広いトピックが揃っています。
セッション枠が被っていたり、私自身PRブースにいたりと、当日は今回紹介した全てのセッションには参加できないと思いますが、弊社メンバーと協力して参加したいと考えています。
さらに、アフターパーティーでは、セッション登壇した方々とお話できる機会もあるそうなので、しっかりと準備をしてイベントに臨みたいと思います!
冒頭でもお伝えしましたが、当日は私も、「AIとともに歩んだライブラリアップデートの道のり」というセッションで登壇いたします!さらに、弊社リンクアンドモチベーションはPRブースも出展予定です!
皆さんと会場でお会いできるのを楽しみにしています。一緒に楽しみましょう!