Webentwicklung: Polymer wechselt von Bower zu npm und von HTML-Imports zu ES6-Modulen

Im Rahmen der in Kopenhagen tagenden Polymer Summit hat das Team hinter Googles JavaScript-Bibliothek zum Erstellen wiederverwendbarer Elemente wichtige Änderungen im nächsten Major Release vorgestellt.

vorlesen Druckansicht 1 Kommentar lesen
Webentwicklung: Polymer wechselt von Bower zu npm und von HTML-Imports zu ES6-Modulen
Lesezeit: 2 Min.
Von
  • Julia Schmidt

Googles Polymer-Bibliothek krempelt die Abhängigkeitsverwaltung um und wird mit der Veröffentlichung von Version 3.0 vom Package Manager Bower zu npm wechseln und darüber hinaus auf in ECMAScript 2015 (auch als ECMAScript 6, kurz ES6 bekannt) eingeführte Module statt auf HTML-Imports setzen. Mit diesen Neuigkeiten startete die am 22. und 23. August 2017 in Kopenhagen tagende Polymer Summit. Die namensgebende JavaScript-Bibliothek soll Entwicklern beim Erstellen moderner Webanwendungen helfen, die durch das Umsetzen einzelner Elemente in Komponenten optimalerweise zu einer bessere Wiederverwendbarkeit des Codes führen.

Statt wie bisher Bower zum Installieren von Abhängigkeiten zu verwenden und HTML Imports, um sie zu laden, sollen zukünftig npm und ES6-Module zum Einsatz kommen. Durch die Änderungen soll Polymer besser in den Standardworkflow von JavaScript-Entwicklern passen und sich besser mit anderen Bibliotheken verwenden lassen. Zudem sollen damit entwickelte Elemente und Anwendungen so ohne Polyfills in aktuellen Versionen von Chrome, Opera und Safari laufen. Zwar hätten HTML Imports eine Reihe Vorteile wie natives HTML-Parsing, leider hätte die Technik aber nicht genug Anhänger, weshalb der Umstieg dem Team sinnvoll scheint. Ähnliches gilt für Bower, das zwar noch gewartet, aber nicht weiter entwickelt wird.

Derzeit arbeitet das Polymer-Team daran, Klassen, Mixins, Elemente, das Template System und andere Programmierschnittstellen, die Teil von Polymer 2.x sind, in Module zu portieren. Damit Entwickler ihre Elemente und Anwendungen einfach modularisieren können, soll im Laufe der Preview-Phase zudem ein Polymer Modulizer zur Verfügung stehen. Er soll bereits fertig sein, und auf npm sind zudem funktionsfähige Versionen der Polymer-Kernbibliothek und passender Elemente zu finden. Bei allen Änderungen legen die Entwickler wohl Wert darauf, dass die API kompatibel zur der der 2.x-Serie bleibt. Sollten dennoch Codeanpassungen nötig sein, sollen sie sich mit automatischen Hilfsmitteln durchführen lassen.

Die erwähnten Neuerungen sind noch in der Testphase und sollen bis zum nächsten Major Release fertig sein. Mit dessen Freigabe ist allerdings erst zu rechnen, wenn wenigstens ein Browser den Support für Module und wichtiger deren dynamischen Import fertig implementiert hat (bisher fehlt der dynamische Import, auch wenn Safari und Chrome Module kennen), weitere Performance-Tests abgeschlossen und die Polymer CLI sowie die Dokumentation aktualisiert sind und genügend Feedback aus der Community vorliegt. (jul)