BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Vue 3.4がリリース:リアクティブな計算が最小限になり、テンプレートの解析が高速化

Vue 3.4がリリース:リアクティブな計算が最小限になり、テンプレートの解析が高速化

原文リンク(2024-02-27)

Vueチームは最近Vue 3.4をリリースした。新しいリリースでは、2倍高速になったという新しいテンプレートパーサーと、不要なコンポーネントの再レンダリングを減らす、より効率的なリアクティビティシステムが特徴だ。

新しいリリースのために、VueチームはVueのテンプレートパーサーを書き直した。チームはこう説明している。

これまでVueは、多くの正規表現と先読み検索に基づく再帰下降パーサーを使用していました。新しいパーサーは、htmlparser2のトークナイザーに基づくステートマシントークナイザーを使用しており、テンプレート文字列全体を一度だけ繰り返し処理します。

書き換えの結果、チームは、テンプレートのサイズに関係なく、パーサーが一貫して2倍速くなったと発表した。さらに、この書き換えはいかなるブレークチェンジも起こさず、完全に後方互換性があるはずだ。パーシング速度の向上はエコシステム(Volar、vue-tsc、パーサーを使用する雑多なコミュニティプラグインなど)にも波及するはずで、結果としてビルド時間が短縮されるかもしれない。

また、Vue 3.4では、計算されたプロパティの不要な再計算の発生も減少している。対応するプルリクエストに詳細がある。

  • 計算された新しい値が変更されない場合、computed、effect、watch、watchEffect、render 依存関係はトリガーされない

  • 複数計算のみのトリガーエフェクト、同期ウォッチ、同期ウォッチエフェクト1回

  • 配列シフト、シフト解除、スプライス(トリガーエフェクトのみ、同期ウォッチ、同期ウォッチエフェクト1回のみ)

コンポーネントは、そのデータ依存関係が変化すると再レンダリングする可能性があるため、それらの依存関係のリアクティブ計算の効率化により、不要なレンダリングが減少する可能性がある。

ある開発者はRedditで新リリースを祝福した。

今回も素晴らしいリリースで、重大な[変更点]はすべて予測可能で、片手の指で[変更点]を挙げることができる(TSXを使用しているのでなければ、手の指が6本ある方が良い)。

このリリースに関連する機能の完全なリストについては、開発者はリリースのブログ投稿を確認できる。

Vueは、シングルページアプリケーションを含むユーザーインターフェースを構築するためのプログレッシブフレームワークである。Vue.jsは、MITオープンソースライセンスの下で利用可能である。コントリビューションは、Vue.jsのGitHubパッケージを通じて歓迎されており、Vue.jsのコントリビューションガイドラインに従うべきである。

作者について

この記事に星をつける

おすすめ度
スタイル

特集コンテンツ一覧

BT