6 Punkte von xguru 2024-08-31 | Noch keine Kommentare. | Auf WhatsApp teilen
  • 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.

Noch keine Kommentare.