RxJS mit Kompatibilitätspaket veröffentlicht

RxJS 6.0 ist da: Geht es jetzt bei Angular 6 vorwärts?
Keine Kommentare

RxJS 6.0 ist fertig. Zu den Highlights gehören kleinere APIs und eine automatische Code-Migration für TypeScript, aber auch ein neues Package, das die Abwärtskompabilität sichern soll.

RxJS 6, die Reactive Extension for JavaScript, ist final erschienen. Die neue Version bringt zahlreiche neue Features mit und führt einige Breaking Changes ein, wie dem Changelog auf GitHub entnommen werden kann. Außerdem ist RxJS 6 Teil eines Milestones für Angular 6.

RxJS 6: Abwärtskompatibilität beim Update

Um die Abwärtskompatiblität trotz aller Breaking Changes zu sichern, wurde RxJS 6 das Package rxjs-compat hinzugefügt, das einen Compatibility Layer zwischen den APIs von Version 5 und Version 6 erzeugt. Durch die Nutzung des neuen Packages erhöhe sich die Größe des Projektbundles allerdings, sodass die Dokumentation zum Upgrade auf RxJS 6 darauf verweist, dass das Package nur temporär eingesetzt werden sollte. Die erhöhte Bundlegröße sei insbesondere im Kontext von Webpack 4 problematisch.

rxjs-compat deckt zwei Breaking Changes nicht ab. Dabei handelt es sich um eine Änderung am synchronen Error Handling, das nicht mehr unterstützt wird. Hier müssen Entwickler unmittelbar Anpassungen am Code vornehmen und auf asynchrone Methoden setzen. Auch bei Verwendung eigener Prototype Operators und der Modifikation des Observable Namespace in TypeScript ist eine unmittelbare manuelle Anpassung nötig.

Neuerungen am finalen Release

Zum finalen Release von RxJS 6.0.0 wurde noch eine Änderung an einem Code Refactoring für WebSockert vorgenommen. Auch zwei neue Features fürs Testing sind mit dabei: Ein Helper für testScheduler.run() sowie, ebenfalls dafür, Support für Time Progression Syntax. Zu den bereits im Rahmen der Release Candidates vorgenommenen Neuerungen gehört außerdem unter anderem, dass in Version 6 nur noch LTS-Versionen von Node.js unterstützt werden.

Ben Lesh aus dem Core-Team von RxJS benennt auf Twitter neben rxjs-compat außerdem die automatische Code-Migration für TypeScript als eines der Highlights der neuen Version. Auch seien die APIs kleiner geworden. Der Update-Guide beschreibt alle relevanten Änderungen und das Vorgehen im Rahmen der Migration.

WebStorm & Angular 6 mit RxJS 6

Nach dem Release der finalen Version von RxJS 6 beginnt nun die Adaption der neuen Version durch IDEs und Libraries. WebStorm 2018.1.2 bringt Support für RxJS 6 mit, dort muss die Importweise für Code Styles in TypeScript geändert werden, um mit RxJS 6 zu arbeiten.

Für Angular 6 könnte das Release von RxJS 6 von besonderer Bedeutung sein. Angular 6 sollte bereits Anfang April erscheinen, ist aber noch immer nicht fertig. Die neue Angular-Version soll Support für RxJS 6 mitbringen. Bislang ist der entsprechende Milestone bei Angualr 6 aber noch offen und nicht abgeschlossen. Das Release von RxJS 6 könnte also dazu führen, dass dieser Milestone bald fertig gestellt werden kann und Angular 6 wieder einen Schritt näher am Release ist.

Unsere Redaktion empfiehlt:

Relevante Beiträge

X
- Gib Deinen Standort ein -
- or -