Webentwicklungs-Tool: Mit Snowpack zu modernen Web-Frontends
Das Werkzeug Snowpack verspricht eine schnelle Webentwicklung. Es fasst die Abhängigkeiten eines Projekts zusammen und vermeidet Bundling.
![](https://heise.cloudimg.io/width/610/q85.png-lossy-85.webp-lossy-85.foil1/_www-heise-de_/imgs/18/3/1/4/0/3/8/1/nb-52b540661f8bab6c.jpeg)
- Manuel Ernst
Snowpack ist ein Frontend-Build-Tool für die Programmierung von Webapplikationen. Es wählt dabei einen anderen Weg als die etablierten Entwicklungswerkzeuge: JavaScript-Build-Tools wie webpack und Parcel müssen jedes Mal, wenn Entwickler eine einzelne Datei speichern, ganze Teile der Anwendung neu erstellen und bündeln. Das bremst den Entwicklungsprozess. Snowpack hingegen nutzt das native Modulsystem von JavaScript, um unnötige Arbeit zu vermeiden und schnell zu bleiben (ECMAScript Modules, ESM). Dabei fasst Snowpack alle Abhängigkeiten für ein Projekt einmal zusammen und spart sich bei späteren Änderungen am Sourcecode das Bundling.
Um verstehen zu können, welche Probleme Snowpack mit seinem neuen Ansatz löst, gilt es, einige Schritte zurückzugehen und zu betrachten, welche Änderungen JavaScript in der Vergangenheit bei der Webentwicklung durchlaufen hat.
Der Stand der JavaScript-Laufzeitumgebung sah 2011 so aus: Entwicklerinnen und Entwickler konnten separate Dateien mit Code nachladen; diese ließen sich im Kontext des globalen Namensraums der Webseite evaluieren und standen dann global zur Verfügung. Der im Browser ausgeführte Code konnte sich dabei aber nicht auf Standards wie CommonJS stützen, da der Browser keine passende Laufzeitumgebung bereitstellte. Das Gleiche galt für über npm veröffentlichte Bibliotheken, die größtenteils mit CommonJS implementiert wurden und immer noch werden. Es war also notwendig, Kompatibilität zwischen den beiden Welten CommonJS und Browser herzustellen.
Das war die Leseprobe unseres heise-Plus-Artikels "Webentwicklungs-Tool: Mit Snowpack zu modernen Web-Frontends". Mit einem heise-Plus-Abo können sie den ganzen Artikel lesen und anhören.