JavaScript: Ember-Team bereitet LTS-Release und Octane vor

Version 3.12 des JavaScript-Frameworks ist der jüngste LTS-Kandidat. Die Edition Octane soll ab Ember 3.14 zur Empfehlung werden.

In Pocket speichern vorlesen Druckansicht 1 Kommentar lesen
JavaScript: Ember-Team bereitet LTS-Release und Octane vor
Lesezeit: 5 Min.
Von
  • Rainald Menge-Sonnentag
Inhaltsverzeichnis

Das Team hinter Ember hat Version 3.12 des JavaScript-Frameworks und konkrete Pläne für Octane veröffentlicht. Ember 3.12 ist der Kandidat für das nächste Release mit Long-Term Support (LTS) und bringt daher keine neuen Features. Octane ist eine neue Edition für Ember, die grundlegende Änderungen in der Architektur und Arbeitsweise mitbringt. Nach dem derzeitigen Zeitplan soll sie ab der übernächsten Version die empfohlenen Basis für Entwickler sein.

Das aktuelle Release löst in sechs Wochen das im Februar veröffentlichte Ember 3.8 als jüngstes LTS-Release ab. Gleichzeitig wird es keine Updates mehr für die vorletzte LTS-Variante Ember 3.4 geben. Für das JavaScript-Framework existieren Varianten mit längerem Support seit gut drei Jahren, und Ember 2.4 markierte den Start.

Das Team stellt für LTS-Releases kritische Bugfixes jeweils über die nächsten sechs Releasezyklen und Sicherheitsupdates über die kommenden zehn Zyklen bereit. Ein Releasezyklus umfassen bei Ember typischerweise sechs Wochen. Ember 3.12 bringt im Vergleich zum Mitte Juli veröffentlichten Vorgänger keine technischen Neuerungen mit, und bei den Deprecations ist lediglich Ember Data mit zwei als überholt erklärten APIs zu nennen.

Vergangenes Jahr hatte das Ember-Team mit Octane eine neue Edition für Ember angekündigt. Das grundsätzliche Konzept der Editionen ist neu für das JavaScript-Framework. Eine Edition bringt neue Konzepte und Funktionsweisen mit und bedeutet für Entwickler ein verändertes Programmiermodell. Erste Features von Octane sind bereits in Ember 3.12 enthalten, aber die beiden kommenden Releases sollen die Edition stabilisieren.

Ab Version 3.14 ist geplant, Octane als bevorzugte Edition für alle Entwickler zu empfehlen. Für neue Apps sind dann die optionalen Funktionen von Octane standardmäßig aktiviert. Auch die Dokumentation zielt ab Ember 3.14 auf den Einsatz der neuen Edition. Zudem wird es Codemods geben, die beim Umstellen von Sourcecode helfen.

Octane bringt einige grundlegenden Neuerungen mit. Erste Pläne hatte das Team mit dem Request for Comments (RFC) zur Ember-Roadmap im August 2018 veröffentlicht. Die Philosophie ist "Weniger ist mehr": weniger Unterbau, Abhängigkeiten und überflüssiger Code sollen die Produktivität verbessern. Die kommende Edition setzt auf native JavasScript-Klassen, um die Performance zu verbessern und den benötigten Code zu verringern. Außerdem können Entwickler damit externe Werkzeuge besser integrieren und einfacher auf TypeScript setzen.

Unter anderem soll Octane das Framework weiter von jQuery lösen. Bereits seit Ember 3.3 können Entwickler optional auf die JavaScript-Bibliothek verzichten. Standardmäßig nutzt Ember jedoch jQuery für den Zugriff auf das Document Object Model (DOM) über this.$. Mit Octane verzichtet das JavaScript-Framework auch intern auf Abhängigkeiten zu jQuery. Wer dennoch darauf setzen möchte, muss es manuell als @ember/jquery in die package.json-Datei einfügen.

Eine grundsätzliche Änderung in der Struktur kommt durch die künftig empfohlene Basisklasse für Komponenten. Bisher nutzen Entwickler den Umweg Component.extend() um von @ember/component abzuleiten. Künftig soll @glimmer/component die Basis für Komponenten werden, und die Ableitung erfolgt über native Klassensyntax:

export default class extends Component {
...
}

Die Glimmer-Basisklasse für Komponenten bietet zudem Lifecycle-Hooks wie didInsertElement und didUpdateElement, die sich zum Verwalten des DOM für die Komponenten nutzen lassen.

Neben den bereits stabilen Features, sieht der RFC noch einige weitere Neuerungen vor. Nennenswert ist unter anderem, dass die Runloop vollständig verschwinden und durch Async/Await ersetzt werden soll. Außerdem soll ein inkrementelles Rendering und eine inkrementelle Rehydration vor allem auf leistungsschwächeren Geräten die Reaktionszeit verbessern.

Entwickler sollten möglichst bald damit anfangen, optionale Features von Octane zu verwenden. Mit einem größeren Refactoring ihres Codes sollten sie aber mindestens bis zum Release von Ember 3.14 und die geplanten Codemods warten, die Teile der Umstellung automatisieren. Das Konzept der Editionen sieht einen sanften Umstieg vor. Breaking Changes, die zu Inkompatibilitäten führen, wird es erst mit Ember 4.0 geben.

Weitere Details zu Octane lassen sich ebenso dem Ember-Blog entnehmen wie die Ankündigung des Release von Ember 3.12. Mit dem Erscheinen der jüngsten Version beginnt gleichzeitig der Betazyklus für Ember 3.13, das bereits Feature Complete für Octane sein soll, die Edition aber noch nicht als Standardvorgabe empfiehlt. (rme)