Meine Highlights der enterJS 2018

„Javascript ist nicht nur eine Sprache… Es ist eine Gemeinschaft, ein Ökosystem, eine Möglichkeit, sehr viel mit einer Sprache zu tun.“ So eröffnete Chris Heilmann (Microsoft) die enterJS Konferenz in seinem Vortrag „Seven Things to Do to Make You a Happier JavaScript Developer“.

Für die nächsten zwei Tage konnten Krispin, ein Kollege von mir aus Berlin, und ich den Arbeitsalltag vergessen und uns voll darauf konzentrieren, einen Blick über den Tellerrand zu wagen. Welche Neuerungen im JavaScript-Umfeld gibt es gerade? Welche Probleme bestehen und wie können sie gelöst werden?

Das Programm war sehr vielfältig und es fanden immer vier Vorträge zeitgleich statt, sodass es oft sehr schwierig war, sich für einen Vortrag zu entscheiden. Im Folgenden möchte ich einen Einblick in die enterJS geben und meine Top 6 der Vorträge vorstellen.

1. Realtime-Anwendungen auf Basis von GraphQL

Einer der besten Vorträge, die ich bis jetzt gesehen habe, war “Realtime-Anwendungen auf Basis von GraphQL”. Die Präsentation baute auf einem Video auf, welches der Speaker so gekonnt in Szene setzte, dass es sich anfühlte, als würde er gerade live coden. Ralf S. Engelschall von msg systems, ein Mitgründer der Apache Software Foundation, demonstrierte eindrucksvoll anhand kleiner Beispielen, wie man eine Realtime Anwendung mit GraphQl umsetzen kann. Besonders spannend waren subscriptions per Websocket, wo der Client per push Änderungen der Daten mitbekommt und diese automatisch aktualisiert. Außerdem erörterte er die Vor- und Nachteile von SOAP, REST und GraphQL und zog einen Vergleich:

Die Präsentation findet man auch online auf Englisch unter diesem Link.

2. Cross-Plattform-Entwicklung mit React und React Native – Möglichkeiten und Stolpersteine

„Write Once, Run Anywhere“. Ein Traum wird wahr? In diesem Vortrag schilderte Jasper Meyer (oldntec) wie er in seinem Unternehmen versucht hat, die Philosophie „Write Once, Run Anywhere“ in einem realen Projekt umzusetzen. Dabei ging er besonders auf die Schwierigkeiten und Stolpersteine ein, auf die er im Laufe der Umsetzung stieß. Sein Ziel war eine Cross-Plattform-Entwicklung mit möglichst vielen wiederverwendbaren Elementen. An einigen Beispielen zeigte er auf, wie ein mögliches Setup aussehen kann, um genau dies zu erreichen. Außerdem zeigte er die Stellen auf, an denen auch dieser Ansatz scheitert. Bestimmte Elemente sind einfach so spezifisch, dass sie sich nicht vereinheitlichen lassen. Am Ende des Vortrags hatte man trotzdem einen sehr guten Einblick in ein mögliches Setup, mit dem sich die meisten der Anforderungen mit einer breit geteilten Code-Basis sehr gut umsetzen lassen.

3. Design mit React

Kristin Baumann zeigte in ihrem Vortrag bei der enterJS anschaulich, wie React-Komponenten direkt in das Grafikprogramm Sketch gerendert werden können. Hierzu wird react-sketchapp von Airbnb verwendet. Ziel soll sein, Entwickler und Designer im Sinne von Devux näher zusammenzubringen und die Grenze zwischen Design und Implementierung aufzuweichen. Spannend an dieser Präsentation fand ich, dass der Ansatz sich extrem gut dazu eignet, Pattern Libraries direkt in Sketch ausgeben zu lassen und man speziell in Kombination mit Mehrsprachigkeit zeigen kann, wie sich ein und dieselbe Komponente in verschiedenen Ausprägungen bzw. Zuständen verhält. Außerdem ist sehr interessant, dass man die Prototypen, die man für Sketch schreibt, mit geringen Anpassungen in ein bestehendes Projekt integrieren kann.

4. JavaScript-Security – Webbrowser in Gefahr

Die Verlagerung von Funktionalität vom Server in den Client bietet zahlreiche Gefahren. Sicherheitsrisiken, die im Server bereits als gelöst gelten, tauchen teilweise vermehrt im Client auf. Mit seinem Vortrag “JavaScript-Security – Webbrowser in Gefahr” wollte Joshua Tiago (cirosec) Schwachstellen und Sicherheitslücken aufzeigen und Entwickler dafür sensibilisieren, diese von vornherein zu vermeiden. Mit verschiedenen Beispielen demonstrierte er, wie einfach ein möglicher Angreifer es teilweise hat, einem fremden Nutzer Schadcode unterzujubeln, um so im schlimmsten Fall den Browser des Opfers fernzusteuern oder direkt das zugrunde liegende Betriebssystem anzugreifen. Zitat Joshua Tiago: “Mit ein paar Zeilen Code kann jedes Script-Kiddie Ihren Rechner übernehmen”. Im Anschluss wurde vorgestellt, was man tun kann, um diese Schwachstellen zu vermeiden.

5. TensorFlow.js – Warum der Browser und Machine Learning perfekt zusammen passen

TensorFlow.js ermöglicht Machine-Learning direkt im Browser. An einigen Code-Beispielen zeigte Oliver Zeigermann (embarc/floreysoft), was heutzutage möglich ist und was nicht. TensorFlow.js nutzt die Graphics-Processing-Unit, was teilweise bei älteren Geräten zu massiven Performance-Problemen führt. Anschaulich stellte er die verschiedenen Berechnungszeiten auf unterschiedlichen Computern dar. Daneben wurden zahlreiche Machine-Learning-Beispiele gezeigt. Besonders beeindruckt war ich von einem Tool, welches tausende Bilder von Schauspielern einliest, erkennt, welche Merkmale von uns Menschen als “schön” interpretiert werden, und daraus neue fiktive Personen generiert, die mit einigen Ausrutschern durchaus so im nächsten Kinofilm mitspielen könnten. Zitat Oliver Zeigermann: “Bitte verliebt euch jetzt nicht, diese Personen existieren nicht…”. Da das Thema Machine-Learning allerdings sehr komplex ist, war die Präsentation eher darauf ausgelegt, zu zeigen, was möglich ist, und weniger, um die Grundlagen zu beleuchten, sodass es beim “Kratzen an der Oberfläche” blieb.

6. Einführung in D3.js – Mächtige Datenvisualisierung im Browser

Daten im Browser visuell aufbereiten und interaktiv präsentieren. Darum sollte es im Vortrag “Einführung in D3.js – Mächtige Datenvisualisierung im Browser” von Mirco Zeiß (HBM) gehen. Eine Einarbeitung in D3.js stellt für viele Entwickler eine mit Startschwierigkeiten verbundene Hürde dar. Im Vortrag wurde gezeigt, wie und womit man am besten beginnt und sich Stück für Stück verbessert. Außerdem wurden einige, teils interaktive Beispiele präsentiert, welche Daten man wie visualisieren kann. Auf jeden Fall ein sehr spannender Vortrag, der Lust dazu macht, es selbst auszuprobieren.

Mein Fazit zur enterJS

Alles in allem hatten wir eine sehr spannende Zeit auf der enterJS, haben viele Einblicke bekommen und einige Denkansätze mitgenommen. Es hat sich auf jeden Fall gelohnt und die Konferenz kann ich definitiv weiterempfehlen. Also, vielleicht bis zum nächsten Jahr bei der enterJS?!

Zur Blog-Startseite