Hallo Manfred! Vielen Dank, dass du dir die Zeit für dieses Interview genommen hast! Was war dein persönliches Tech-Highlight im Jahr 2019?
Manfred Steyer: Für mich war definitiv Angular Ivy das Highlight. Vor allem, wenn man sich die ganzen Interna ansieht, wird klar, welches Potential sich da auftut. Es geht weit über optimierte Bundles hinaus und wird die Grundlage für viele Innovationen im Angular-Umfeld sein.
Kannst du das ein wenig ausführen? Welche Auswirkungen wird Ivy im Jahr 2020 auf das Ökosystem haben?
Manfred Steyer: Kurzfristig werden leichtgewichtige Anwendungen und Komponenten, die viele Möglichkeiten von Angular gar nicht benötigen, am meisten profitieren. Das betrifft auch Web Components. Hier werden wir dank Ivy stark optimierte Bundles bekommen, die sich mit jenen von einfacheren Frameworks messen können oder deren Fußabdruck sogar unterbieten. Normale Anwendungen werden kurzfristig ein wenig von Ivy profitieren, da auch hier die Bundles kleiner werden dürften. Das hängt aber sehr stark vom Anwendungsfall ab.
Mittelfristig bietet Ivy in der Welt von Angular ganz neue Möglichkeiten.
Mittelfristig bietet Ivy in der Welt von Angular ganz neue Möglichkeiten, zum Beispiel einen Betrieb ohne NgModules. Dieses Konzept führt bei Einsteigern immer wieder zu Verwirrung, weil es auf den ersten Blick keinen Sinn ergibt, neben dem ECMAScript-Modul-System ein weiteres Angular-spezifisches zu haben. Auch das Angular-Team, das NgModules aus technischen Gründen einführen musste, sieht das so. Dank Ivy werden diese NgModules früher oder später optional werden.
Ivy ist mittelfristig aber auch der Schlüssel zu dynamischen Komponenten, die on-the-fly erzeugt werden, und somit auch zu den aus React bekannten Higher Order Components. Außerdem wird künftig die Internationalisierung auf Ivy basieren. Die Idee ist es, damit für Übersetzungstexte eine Art one-time-binding zu realisieren. Aber auch Lazy Loading auf Komponentenebene und das Erweitern von Angular durch Drittanbieter wird mittelfristig durch Ivy vereinfacht bzw. erst wirklich möglich.
Dazu kommt, dass Ivy die Grundlage für Angular Photon ist. Dabei handelt es sich um einen hoch-experimentellen Betriebsmodus, der Server Side Rendering und Lazy Loading auf die nächste Ebene hebt und somit Angular nicht nur für Customer-facing Applications sehr attraktiv machen wird.
JavaScript-Trends 2020
Welches JavaScript Tool hast du im Jahr 2019 neu für dich entdeckt?
Manfred Steyer: Ich finde die Bibliothek immer recht knorke. Sie vereinfacht den Einsatz von Immutables immens. Man mutiert zunächst den State auf einem Proxy. Danach werden diese Änderungen auf „immutable Weise“ automatisch abgespielt. Gerade in Kombination mit den neuen Creators von NGRX ist das eine echt schöne Option. Wer diese beiden Welten verheiraten möchte, findet in ngrx-etc eine gute Lösung. Diese hat zwar nicht wirklich viele Downloads, stammt aber von derselben Person, die viele der Creators in NGRX implementiert hat.
Was hat dir an der WebTech-Welt 2019 nicht gefallen?
Ich war erstaunt über die vielen undifferenzierten Diskussionen zum Thema Micro Frontends.
Manfred Steyer: Ich war ein wenig erstaunt über die vielen undifferenzierten Diskussionen zum Thema Micro Frontends. Zwischendurch hatte man dazu nur Extrempositionen gelesen. Das ist schade, weil es beim Thema Software-Architektur ja um das Austarieren unterschiedlicher Ziele geht und weil eine Architektur zu den eigenen Zielen passen muss. Es gibt also pe se keine guten oder schlechten Architekturen. Sie sind lediglich mehr oder weniger passend für bestimmte Ziele.
Deine Prognose für 2020: Was muss man 2020 unbedingt kennen?
Manfred Steyer: Ich habe das Gefühl, dass sich das JavaScript-Ecosystem langsam stabilisiert. Es haben sich Defacto-Standards herausgebildet, und das hält den Wildwuchs im Zaum. Interessant ist auf jeden Fall das Thema WebAssembly, aber wahrscheinlich nicht als JavaScript-Ersatz (wie manche hoffen), sondern als Ergänzung für APIs. Außerdem werden sich 2020 noch mehr Entwickler mit dem Thema Architektur vor dem Hintergrund von JavaScript beschäftigen müssen, zumal JavaScript-Lösungen immer größer werden und häufig langfristig gewartet werden müssen.
Vielen Dank für dieses Interview!