しがないプログラマの雑記帳

冴えないおじさんの、備忘録な雑記

VueFes 2025 に参加してきました

2025/10/25 に開催された VueFes Japan 2025 に参加しました。
この記事では、一般参加者の目線で、当日の感想を書きます。

当日の様子

まさかの寝坊

前日入りはせず、当日の朝に Keynote に間に合うように新幹線の予約をしていたのですが、まさかの 寝坊 をしました...
7:09 新大阪発の新幹線に乗るはずが、起きたら 7時でした...
幸いにも、 Smart EX で予約の時間をずらすことはできましたが、 Keynote には間に合わない時間でした。

目覚まし時計をかけたつもりが、設定が 1日分ズレてしまっていたようで、鳴っていなかったようでした。
去年は起きられたから大丈夫と油断したのが良くなかったですね...

聴講したセッション

Keynote には間に合わなかったものの、その後のスポンサーセッションの開始時間には間に合いました。
今回の VueFes Japan 2025 では、以下のセッションを聴講しました。

本記事では、特に印象に残ったセッションについて記載します。

webpack 依存からの脱却!快適フロントエンド開発を Viteで実現する

概要

開発のスピードを上げる上でボトルネックになっていたのが、開発サーバーの起動やビルドなどに時間がかかることが挙げられていました。
この課題を解決するために、 Webpack から Vite に移行 しました。
Vite の開発モードでは esbuild を使用しており、必要なモジュールのみが動的に配信され、高速に動作します。

Vite を採用する上で、公式で推奨されている Backend Integration を利用したとのことでした。
Backend Integration を利用するための設定について、コード例を交えて説明されていました。

Vite を導入したことで、ビルド時間などを大幅に短縮できたとのことでした。
具体的には、 Webpack では 90秒ほどかかっていたビルド時間は Vite では 12秒ほど に、開発サーバーの起動に至っては Webpack では約 90 秒かかっていたのが Vite では約 2~3 秒程度 までに短縮されていました。

感想

Vite が話題になり始めた時に、特徴の 1つとして高速であることが挙げられていましたが、今回の事例を聞いて 本当に速いことを実感 しました。
特に、 Webpack のビルド時間と Vite のビルド時間の比較結果は非常に大きな差で驚きました。
開発サーバーの起動やビルドを待たなければいけないのは非常にストレスなので、 Vite を導入してこれらの時間が短縮されて開発者のストレスもかなり緩和されそうだなと思いました。

アプリケーション開発を中心に携わっていると、ビルドツールなどの設定を意識することは少ないと思いますが、ビルドの仕組みやその設定についての知識はあった方が良いと感じました。
私自身は開発環境に関する知識が乏しいので、少しずつ学んでいきたいと思います。

Vueのバリデーション、結局どれを選べばいい? ― 自作バリデーションの限界と、脱却までの道のり ―

概要

Vue のバリデーションを自作した場合、既にバリデーションルールが存在するかを知るには、バリデーションルールの実装を確認する必要があります。
しかし、バリデーションルールの数が増えれば増えるほど、調査に時間がかかってしまいます。
また、既存のバリデーションルールを活用できず、同じロジックの再実装が増えるといった問題点も挙げられていました。

そこで、バリデーションライブラリを導入することで上記の問題点を解決することを考えられていました。
Vue のバリデーションライブラリを導入する上で、候補を列挙した後、選定基準に基づいて導入するライブラリを絞り込んでいました。

必須条件となる 技術的前提条件 をクリアしているか、ライブラリの比較の上で重視する 評価指標 を定義し、ライブラリの選定が行われました。
結果として、 Vee-Validate を採用することになったそうです。

Vee-Validate を導入した後も課題は残っているようでした。
例えば、 Vee-Validate ですでに定義されているバリデーションルールが、自作のバリデーションルールでも重複して実装されていることがあります。
そのため、今後運用していく上で Vee-Validate のルールと重複して実装しているルールを見つけたら削除し、使用するバリデーションの実装で迷わないように徹底していくとのことでした。

感想

導入候補や選定基準をしっかり設けて導入するライブラリを決定していたのがとても良いと思いました。
候補を絞り込む際にも、 明確に基準を設けた上で絞り込んで おり、そこからさらに 選定基準も設定 されていて、しっかり検討されていました。

このセッションを聞いて初めて名前を聞いたものもあったので、とても勉強になりました。
また、選定基準に基づいてライブラリを比較することで、それぞれのライブラリがどのような特徴を持っているのかも知ることができました。

バリデーションライブラリの導入後も課題があったことから、問題解決は一筋縄ではいかないという現実も感じさせられました。
運用方針を定められていたので、徐々に課題も解決されていくように思いました。

オーディオアプリケーションをWebでつくる

概要

Web で音声を鳴らす方法として、 HTMLAudioElement を使う方法と Web Audio API があります。 音声ファイルを再生するだけであれば HTMLAudioElement だけで事足りますが、細かな制御を行う際には Web Audio API を利用します。 Web Audio API を使った制御の例として、 low-pass filter の実装例の解説とそのデモをされていました。

AudioWorklet を利用することで、ビルトインの制御だけでなくカスタムの音声処理も実装できます。
AudioWorklet の処理は音声処理用の別スレッドで動作するため、メインスレッドの処理の影響を受けません。
ただし、 AudioWorklet の処理を起動するためには、メインスレッドから addModule() が実行される必要があります。

また、 AudioWorklet で WebAssembly を活用することで、複雑な音声処理のパフォーマンスの向上が期待できます。
活用例として、 JUCE という音声アプリケーションの開発フレームワークを Web で利用する juce_emscripten などが挙げられていました。

感想

Web Auido API という音声を扱うための API の存在を初めて知ることができました。
具体的にどのようなことが出来るのか、デモで聞くことでより面白さが倍増しました。
私自身は音声処理については門外漢なので、 low-pass filter などの処理の知識はないですが、それでも触ってみたいと感じました。

Web Audio API の基礎概念である node については、実際に触ってみることで理解が深まりそうだと思いました。
また、 AudioWorklet が別スレッドで動くという部分については、 JavaScript のスレッドについてしっかり理解を深めないといけないと感じました。

全体を通しての感想

色々と興味深いセッションを聞けて、とても勉強になりました。
実際の活用事例を聞けたり、初めて知る技術についての話など、とても良い刺激となりました。
Keynote を聞き逃してしまったのが、本当に惜しいことをしてしまったなと思いました。

Vite をはじめとした、開発環境まわりのエコシステムなどについての知識がかなり浅いので、この辺りも徐々に学んでいきたいなとは思っています。
Rolldown や Oxc など、耳にしたことはあるけれど、それらがどういった役割を果たすかなどの知識がないので、話の内容を理解する上でも必須な知識をちゃんと身につけたいです。

英語のセッションも聴講しましたが、自分の英語の能力が足りないこともあり、ついていくことが難しかったです。
画面上に同時翻訳のテキストも出てはいたのですが、座った位置が悪かったのと、字を読むスピードが遅くて間に合わなかったので、次こそは聞き取れるように英語の勉強を頑張りたいと思います。
(英語のセッションを聞くたびに、毎回同じ感想を持っているような気もしますが...)

VueFes 2025 の会場も非常に盛り上がっていると感じました。
天気はあいにくの雨でしたが、セッションルームも立ち見になることがあるほどの盛り上がりで、熱量がすごいと感じました。
スポンサーブースも大盛況で、もっと部屋が広ければ良いな、と思うくらいどのブースもとても盛り上がっていました。

チケットが販売されていることに気づいたのが 9月頃で、その頃にはすでに懇親会チケットが売り切れになってしまっていたのが少し悔やまれました。
とはいえ、一般参加用のチケットの購入には間に合いましたし、参加して良かったと思いました。
今回の VueFes 2025 も大成功だったのではないでしょうか。


最後に

VueFes 2025 の開催準備から運営までに携わられたスタッフの皆さんにこの場をお借りして御礼申し上げます。
登壇者の方々やスポンサーされた企業様ならびに出展されていた方々に御礼申し上げます。

皆様のおかげで、とても良いイベントに参加させていただけたと思います。
改めて、感謝申し上げます。