DarmstadtJS Meetup

Heute war ich zum ersten Mal bei einem Meetup der Gruppe DarmstadtJS. Das Ganze fand in den Büros von JSperts statt, Getränke und Pizzas stellte die Firma netterweise bereit, vielen Dank dafür!

Angular-Erfahrungsbericht

Johannes Rudolph von meshcloud referierte über seine praktischen Erfahrungen beim Einsatz von Angular. Viele Sachen kamen mir sehr bekannt vor, vor allem die leidvollen Erfahrungen bei einigen Aktualisierungen von Angular selbst und auch von Angular CLI. Jedes Update stellte da eine Herausforderung dar, weil es mitunter die ganze Applikation zerlegte oder bestehende Praktiken über den Haufen warf. Und so wechselten sich Euphorie über eine sehr mächtige und produktive Plattform mit Frustration wegen des letzten Updates.

Er empfahl die Verwendung von yarn statt npm. Das hatte ich sogar mal getestet, problematisch an yarn war, dass es keine Datei-Referenzen versteht, die wir benötigen.

Um Angular richtig nutzen zu können, empfahl Johannes die Beschäftigung mit ReactiveX, einer Bibliothek für die asynchrone Programmierung. Auch damit hatte ich schon reichlich zu tun, es ist eine Umsetzung des Beobachter-Entwurfsmusters für JavaScript.

Neben vielen Vorteilen nannte er bei Angular noch einige Einschränkungen. - Modulgrenzen sind nicht strikt vorgegeben - Dependency Injection kennt nur Singletons - Debugging ist schwierig wegen zone.js und asynchronem Charakter - Mangel an Performance Debugging Tools

Hier noch die Präsentation.

Performance-Optimierung

Der zweite Sprecher war Rubens Bridgewater, sein Thema war die Optimierung von laufzeitkritischem JavaScript-Code. Er schränkte sein Thema immer wieder ein, auf keinen Fall solle man Mikro-Optimierungen vornehmen, da diese oft zu schlechter lesbarem Code führten. Und außerdem würde ohnehin ständig die JavaScript-Engine (z.B. V8 für Chrome, Opera und Node) verbessert.

In letzter Zeit führten die Sprach-Erweiterungen für ES2015 zu einer Verschlechterung der Code-Ausführung, da viele neue Sprach-Features eingebaut wurden und damit bestehende Optimierungsmuster sogar teilweise entfernt werden mussten. Doch dies wird jetzt Schritt für Schritt verbessert. Er empfahl auf jeden Fall die Verwendung von ES2015-Features, auch wenn sie derzeit etwas langsamer wären.

Am meisten Potenzial läge immer beim Algorithmus selbst.