6 ポイント 投稿者 xguru 2024-08-31 | まだコメントはありません。 | WhatsAppで共有
  • Rustで書かれた次世代 JavaScript バンドラー
  • Webpack API およびエコシステムと互換性があるが、10倍以上高速
  • ByteDance 社内で開発され主に利用されており、Microsoft、Amazon、Alibaba など多くの企業でも使われ始めている

0.1バージョン(18か月前)以降に追加された新機能

  • 性能向上: 大規模プロジェクトでもより良い性能を確保するための性能改善と主要機能が追加された
  • 互換性改善: webpack プラグインおよびローダーとの互換性を改善し、React、Preact、Vue、Solid、Svelte、NestJS をサポート
  • バンドルサイズ最適化: webpack と同等レベルの最適化機能を提供
  • Module Federation 2.0 をサポート
  • 安定した API と新しい Web サイト

Rspack を選ぶべき理由

  • 段階的なマイグレーションをサポート
  • ブラウザ、Node.js に加え、Deno、Electron、クロスプラットフォームアプリケーション、MiniApps など、JavaScript が実行されるあらゆる環境をサポート
  • Rspack ベースの Rstack("Rspack Stack")ツールチェーンを提供
    • Rspack: 高性能バンドラーの実装に重点を置き、性能と柔軟な構成のバランスを取ることに注力
    • Rsbuild: Web アプリケーションのビルドに重点を置き、すぐに使える開発体験を提供
    • Rslib: ライブラリビルドに重点を置き、高品質な ESM および CJS 出力を提供
    • Rspress: 静的サイト生成に重点を置き、ドキュメントサイトやブログ構築のための MDX をサポート
    • Rsdoctor: ビルド分析に重点を置き、開発者がビルド関連の問題を解決するのを支援

webpack との互換性

  • Rspack 1.0 は webpack v5 と互換になるよう設計されており、webpack を利用する多くのプロジェクトが Rspack へスムーズにマイグレーションできるよう支援
  • webpack との互換性を維持しつつ、Rspack 1.0 は最新の Web 標準を取り込み、究極のビルド性能を目指している
    • Web 標準については、Rspack は最新の Web 標準の進展と TC39、および Web 標準の最新動向を積極的に追っている。たとえば、Rspack はすでに new Worker() による Web Workers の利用、Import Attributes による JSON モジュールのインポート、CSS Module Scripts 仕様に基づく CSS のインポートをサポートしている
    • 性能については、1.0 で多くの最適化が導入された。たとえば JavaScript 側のフックが使われない場合、Rust 側は JavaScript 側との通信呼び出しを行わない。また Rspack は多くのメッセージオブジェクトに対して遅延ロードを行う。メッセージオブジェクトが大きくても JavaScript がプロパティの一部しか使わない場合、Rspack は使用されたデータだけを送信し、Rust と JavaScript 間の通信オーバーヘッドを最小化する。Rspack は今後、Rust と JavaScript の間でより効率的に通信するため、より軽量なフックを提供する予定
  • 今後のメジャーリリースでは、Rspack はモダンな Web 開発の要件をよりよく満たすため、webpack API を基盤として進化していく予定

今後の計画

  • Rspack 1.x を開発 - 今後 12〜18か月の間に新機能と改善事項を追加予定
    • より高速な HMR、移植可能なキャッシュ、TypeScript ベースの最適化、安定した Rust API、React Server Components 対応、ESM 出力の改善などを予定
  • Rsbuild 1.0、Rsdoctor 1.0、Rslib 0.x、Rspress 2.0 を開発

まだコメントはありません。

まだコメントはありません。