JavaScript: Ember.js 2.1 hilft mit Abhängigkeiten und bringt System in Deprecations

Nachdem das letzte Update einer grundlegenden Entrümpelung des Webframeworks gleich kam, haben die Ember.js-Entwickler dieses Mal einige Helper-Funktionen ergänzt und Stabilisierungsmaßnahmen durchgeführt.

In Pocket speichern vorlesen Druckansicht
JavaScript: Ember.js 2.1 hilft mit Abhängigkeiten und bringt System in Deprecations
Lesezeit: 2 Min.
Von
  • Julia Schmidt

Wie schon bei der Bekanntmachung von Version 2.0 des JavaScript-Frameworks angedeutet, speisen sich die Neuerungen der nun veröffentlichte ersten Nebenversion der 2.x-Serie vor allem aus den Erfahrungen, die das Team auf dem Weg zum zweiten Major Release machen konnte. So stellte man damals unter anderem fest, dass das Projekt bisher keine feste Arbeitsweise zum Entfernen veralteter Funktionen hatte, was sich nun durch die Einführung einer speziellen API ändern soll.

Als Standardverhalten in diesem Kontext hat das Ember-Team festgelegt, dass beim Einsatz von entsprechend gekennzeichneten Elementen, Warnungen oder Deprecation-Nachrichten auf der Konsole ausgegeben werden. Soll das System anders reagieren, lässt sich ein Handler registrieren und eigene Logik verfassen. Weitere Neuerungen gibt es auch beim Umgang mit Abhängigkeiten einer Anwendung. Waren die privaten Schnittstellen registry und container zwei der wenigen Möglichkeiten, um beliebige Objekte in Embers Abhängigkeitscontainern zu suchen, verspricht das Team nun, öffentliche APIs zu schaffen.

Als erster Schritt stehen in Ember.js 2.1 daher Ember.Application und Ember.ApplicationInstance zur Verfügung. Ember.Application-Instanzen werden als erstes Argument an initializer-Hooks übergeben, an denen sich wiederum Factories registrieren und Abhängigkeiten zwischen Objekttypen einstellen lassen. Instanzen von Ember.ApplicationInstance hingegen landen als erstes Argument in instanceInitializer-Hooks, von denen aus sich Factories aus konfigurierten und gebooteten Anwendungen holen lassen. Nähere Informationen zu den dazugehörigen öffentlichen APIs lassen sich der Bekanntmachung entnehmen.

Allerdings sind auch neue Features Teil des Updates. So stehen nun etwa die beiden Hilfsfunktionen {{get}} und {{each-in}} zur Verfügung, wobei erstere dabei helfen soll, Eigenschaften von Objekten dynamisch nachzuschlagen und zweitere über Schlüssel und Werte eines Objekts iterieren kann. Darüber hinaus wurden die Aufräumarbeiten im Framework fortgesetzt, wie die zahlreichen [CLEANUP]-Einträge in den Release Notes zeigen. Das nächste Release soll wohl vor allem Maßnahmen zur Verbesserung der Perfomance enthalten. (jul)