Nach einem kurzen Arbeitstag in Dresden hieß es dann: Paris ich komme!

Ticket

Einen kleinen Abstecher über Amsterdam und zwei Starts samt Landungen musste ich noch überstehen um endlich in Paris zu landen, wo ich schnell die nächste Bahn Richtung Hotel genommen habe. Nach einer kurzen Nacht war es dann endlich soweit, die ng-europe AngularJS Konferenz. Schon im Vorfeld wurde mir empfohlen, zeitig zu erscheinen, also bin ich diesem Ratschlag gefolgt und konnte nach 15-minütiger Wartezeit meine Eintrittskarte für die nächsten zwei Tage in den Händen halten – oder besser gesagt um den Hals hängen.

Die Eröffnungsrede wurde – wie konnte es auch anders sein – von Misko Hevery, dem Vater von Angular gehalten. Ein großes Themenfeld war AoT (Ahead of Time compilation), bei der im Gegensatz zu JiT (Just in Time compilation) die Anwendung nicht im Browser, sondern bereits im Build-Prozess kompiliert wird. Dies bringt zahlreiche Vorteile mit sich. Durch den bereits kompilierten Code kann die Anwendung sofort ausgeführt werden. Auf den internen Angular Kompiler, der ansonsten Teil der Anwendung ist, wird dabei verzichtet. Des Weiteren ist es möglich, in diesem Schritt Templates und Stylesheets in einzelne Komponenten zu integrieren, mit der Folge, dass weniger separate Anfragen an den Server gesendet werden müssen. Template-Binding Fehler werden bereits während des Build-Prozesses erkannt und nicht erst wenn die Anwendung bereits ausgeführt wird. Tree-Shaking kann ebenfalls dazu beitragen, den Umfang zu reduzieren. Dabei werden Abhängigkeiten analysiert und die nicht Verwendeten werden aus der Anwendung entfernt. Durch die Modularisierung großer Applikationen in kleinere, in sich geschlossene Module und dem Angular Komponentenrouter gibt es nun auch die Möglichkeit, über Lazy Loading nur Teile der Anwendung zu laden, die für bestimmte Ansichten benötigt werden.

Ein weiteres großes Thema, das in zahlreichen Vorträgen zur Sprache kam, war RxJS (ReactiveX for JavaScript). Als Neuling im Angular 2- sowie Javascript-Umfeld, habe ich persönlich noch keine Erfahrungen mit der Bibliothek sammeln können. Somit war ich mehr als gespannt auf die noch vor mir liegenden Veranstaltungen. Der erste Vortrag hierzu war „Reactive Angular 2“ von Rob Wormald. An einem sehr netten TypeAhead und Routing Beispiel hat er – wie ich finde sehr gelungen – aufgezeigt, was mit geringem Aufwand und gezieltem Einsatz von Operatoren, unter der Verwendung von RxJS, möglich ist.

Der zweite Vortrag, der sich dem Thema RxJS widmete, war „You will learn RxJS“ von Andre Staltz. Im Fokus stand weniger die Anwendung der Bibliothek, sondern vielmehr das eigentlich Prinzip hinter Reactive Programming. In knappen 20 Minuten wurde live aus einem einfachen Beispiel mit einem Event Listener und einer Callback Funktion die Basis von RxJS erstellt. Dieser Vortrag war einer der besten der gesamten Konferenz und ich kann nur empfehlen, sich diesen bei Gelegenheit anzuschauen.

Für mich der beste und wahrscheinlich auch unterhaltsamste Beitrag war „Reactive Music Apps in Angular and RxJS“ von Tero Parviainen. Ursprung des Projekts, welches in diesem Vortrag vorgestellt wurde, war die Kombination zweier Leidenschaften des Referenten: Zum einen die Webentwicklung und zum anderen die Musik. Als Basis diente das von Terry Riley im Jahr 1964 geschriebene Stück „In C“. Dieses besteht aus 53 kleinen melodischen Mustern, welche vom Musiker in einer genau vorgegebener Reihenfolge gespielt werden müssen, mit der Ausnahme jedes der Muster beliebig oft wiederholen zu dürfen.

Zunächst wurden kurz einige Situationen, welche im Laufe des Stücks auftreten können, visuell anspruchsvoll untermalt vorgestellt. Anschließend ist Parviainen dann auf die erforderlichen Mittel für die Umsetzung eingegangen. Neben Angular und RxJS wurden noch ngrx/store und ngrx/effects eingesetzt. Ngrx/store, inspiriert von Redux (aus dem React Umfeld bekannt), dient hier dem Speichern des aktuellen Status. Dieser hält zentral den Zustand der Anwendung und ist nicht veränderbar. Änderungen werden mittels Reducer Funktionen getätigt, welche den aktuellen Status nicht verändern, sondern einen neuen zurückgeben. Das Projekt ist auf github einsehbar und ich kann nur empfehlen, sich dieses mal anzuschauen.

Als einen weiteren spannenden Vortrag möchte ich noch den von Daniel Rosenwasser nennen, der an einem kleinen, gestellten Codereview die Vorteile von TypeScript aufzeigte. Ein weiteres sehr interessantes Projekt wurde von Hans Larsen vorgestellt: Angular-CLI (Command line interface), welches das Aufsetzens eines neuen Projekts erleichtern und vereinheitlichen soll. Weiter ermöglicht CLI das Erstellen von Modulen, Komponenten und weiteren für die Entwicklung erforderlichen Bausteinen nach den Richtlinien des internen Angular-Styleguides über kurze Kommandozeilenanweisungen.

Als Fazit kann ich nur sagen: Fantastique! Die Qualität der Vorträge – meist von Referenten gehalten, die aktiv an den Projekten mitarbeiten – hat meine Erwartungen mehr als erfüllt. Die Organisation der ganzen Veranstaltung war nahezu perfekt. Auch wenn man am Buffet ein wenig länger warten musste, hat die Qualität des Angebots im Nachhinein das Warten wieder entschädigt.

Ich danke ng-europe und allen Beteiligten, sowie queo, die mir diese Erfahrung ermöglicht haben!

Diskutieren Sie mit!

Alle mit einem markierten Felder sind Pflichtfelder und müssen ausgefüllt werden