- Bundler JavaScript de nouvelle génération écrit en Rust
- Compatible avec l’API et l’écosystème de webpack, mais plus de 10 fois plus rapide
- Développé et principalement utilisé chez ByteDance, et commence aussi à être adopté par de nombreuses entreprises comme Microsoft, Amazon et Alibaba
Nouvelles fonctionnalités ajoutées depuis la version 0.1 (il y a 18 mois)
- Amélioration des performances : optimisations et ajout de fonctionnalités clés pour garantir de meilleures performances, même sur de très gros projets
- Amélioration de la compatibilité : meilleure compatibilité avec les plugins et loaders webpack, prise en charge de React, Preact, Vue, Solid, Svelte et NestJS
- Optimisation de la taille des bundles : fonctions d’optimisation au niveau de webpack
- Prise en charge de Module Federation 2.0
- API stable et nouveau site web
Pourquoi choisir Rspack
- Prise en charge de la migration progressive
- Prend en charge tous les environnements où JavaScript s’exécute, au-delà du navigateur et de Node.js : Deno, Electron, applications multiplateformes, MiniApps, etc.
- Fournit la toolchain Rstack (« Rspack Stack ») basée sur Rspack
- Rspack : centré sur l’implémentation d’un bundler haute performance, avec un équilibre entre performances et configuration flexible
- Rsbuild : centré sur la construction d’applications web, avec une expérience de développement prête à l’emploi
- Rslib : centré sur la construction de bibliothèques, avec une sortie ESM et CJS de haute qualité
- Rspress : centré sur la génération de sites statiques, avec prise en charge de MDX pour créer des sites de documentation et des blogs
- Rsdoctor : centré sur l’analyse des builds, pour aider les développeurs à résoudre les problèmes liés au build
Compatibilité avec webpack
- Rspack 1.0 a été conçu pour être compatible avec webpack v5, afin d’aider de nombreux projets utilisant webpack à migrer en douceur vers Rspack
- Tout en maintenant sa compatibilité avec webpack, Rspack 1.0 adopte les standards web modernes et vise des performances de build ultimes
- Pour les standards web, Rspack suit activement l’évolution des standards web modernes ainsi que les derniers développements de TC39 et du web. Par exemple, Rspack prend déjà en charge l’utilisation de Web Workers via
new Worker(), l’import de modules JSON via Import Attributes et l’import de CSS basé sur la spécification CSS Module Scripts
- Côté performances, de nombreuses optimisations ont été introduites dans la version 1.0. Par exemple, si les hooks côté JavaScript ne sont pas utilisés, les communications avec le côté JavaScript ne sont pas invoquées depuis le côté Rust. De plus, Rspack effectue un chargement différé pour de nombreux objets de message. Même si un objet de message est volumineux, si JavaScript n’utilise qu’un sous-ensemble de ses propriétés, Rspack ne transmet que les données utilisées afin de minimiser la surcharge de communication entre Rust et JavaScript. Rspack prévoit à l’avenir de proposer des hooks plus légers pour rendre la communication entre Rust et JavaScript encore plus efficace
- Dans les prochaines versions majeures, Rspack continuera d’évoluer sur la base de l’API webpack afin de mieux répondre aux exigences du développement web moderne
Feuille de route
- Développement de Rspack 1.x — ajout prévu de nouvelles fonctionnalités et améliorations au cours des 12 à 18 prochains mois
- Prise en charge prévue de HMR plus rapide, cache portable, optimisations basées sur TypeScript, API Rust stable, React Server Components, amélioration de la sortie ESM, etc.
- Développement de Rsbuild 1.0, Rsdoctor 1.0, Rslib 0.x et Rspress 2.0
Aucun commentaire pour le moment.