- Next-Generation-JavaScript-Bundler, geschrieben in Rust
- Kompatibel mit der Webpack-API und dem Ökosystem, aber mehr als 10-mal schneller
- Innerhalb von ByteDance entwickelt und hauptsächlich dort genutzt; wird inzwischen auch von vielen Unternehmen wie Microsoft, Amazon und Alibaba eingesetzt
Neue Funktionen, die seit Version 0.1 (vor 18 Monaten) hinzugekommen sind
- Verbesserte Performance: Performance-Optimierungen und wichtige Funktionen wurden hinzugefügt, um auch bei großen Projekten eine bessere Leistung sicherzustellen
- Verbesserte Kompatibilität: bessere Kompatibilität mit webpack-Plugins und -Loadern sowie Unterstützung für React, Preact, Vue, Solid, Svelte und NestJS
- Optimierung der Bundle-Größe: bietet Optimierungsfunktionen auf einem Niveau, das webpack entspricht
- Unterstützung für Module Federation 2.0
- Stabile API und neue Website
Warum man sich für Rspack entscheiden sollte
- Unterstützung für schrittweise Migration
- Unterstützung für alle Umgebungen, in denen JavaScript läuft, darunter Browser, Node.js sowie Deno, Electron, plattformübergreifende Anwendungen und MiniApps
- Bereitstellung der auf Rspack basierenden Rstack-("Rspack Stack")-Toolchain
- Rspack: fokussiert auf die Implementierung eines High-Performance-Bundlers und darauf, Performance und flexible Konfiguration auszubalancieren
- Rsbuild: fokussiert auf den Build von Webanwendungen und bietet eine sofort einsatzbereite Developer Experience
- Rslib: fokussiert auf den Build von Bibliotheken und liefert hochwertige ESM- und CJS-Ausgaben
- Rspress: fokussiert auf statische Site-Generierung und unterstützt MDX zum Aufbau von Dokumentationsseiten und Blogs
- Rsdoctor: fokussiert auf Build-Analyse und hilft Entwicklern dabei, Build-bezogene Probleme zu lösen
Kompatibilität mit webpack
- Rspack 1.0 wurde so entwickelt, dass es mit webpack v5 kompatibel ist, damit viele Projekte, die webpack verwenden, reibungslos zu Rspack migrieren können
- Während die Kompatibilität mit webpack erhalten bleibt, übernimmt Rspack 1.0 moderne Webstandards und zielt auf maximale Build-Performance ab
- Bei Webstandards verfolgt Rspack aktiv die Weiterentwicklung moderner Webstandards sowie die neuesten Entwicklungen bei TC39 und im Webstandard-Umfeld. So unterstützt Rspack bereits die Nutzung von Web Workers über
new Worker(), den Import von JSON-Modulen über Import Attributes sowie den CSS-Import auf Basis der Spezifikation für CSS Module Scripts
- Bei der Performance wurden in 1.0 viele Optimierungen eingeführt. Wenn etwa Hooks auf der JavaScript-Seite nicht verwendet werden, ruft die Rust-Seite keine Kommunikation mit der JavaScript-Seite auf. Außerdem verwendet Rspack Lazy Loading für viele Message-Objekte. Selbst wenn ein Message-Objekt groß ist, überträgt Rspack nur die tatsächlich genutzten Daten, wenn JavaScript nur eine Teilmenge der Eigenschaften verwendet, um den Kommunikations-Overhead zwischen Rust und JavaScript zu minimieren. Rspack plant außerdem, künftig leichtere Hooks für eine effizientere Kommunikation zwischen Rust und JavaScript bereitzustellen
- In zukünftigen Major-Releases wird sich Rspack auf Basis der webpack-API weiterentwickeln, um die Anforderungen moderner Webentwicklung noch besser zu erfüllen
Pläne für die Zukunft
- Entwicklung von Rspack 1.x – in den kommenden 12 bis 18 Monaten sollen neue Funktionen und Verbesserungen hinzukommen
- Geplant sind unter anderem schnelleres HMR, portabler Cache, TypeScript-basierte Optimierungen, eine stabile Rust-API, Unterstützung für React Server Components und verbesserte ESM-Ausgabe
- Entwicklung von Rsbuild 1.0, Rsdoctor 1.0, Rslib 0.x und Rspress 2.0
Noch keine Kommentare.