Am 2. und 3. Juni 2016 fand die React Europe in Paris statt und ich war Teil davon. Die Konferenz war klasse organisiert und die Vorträge inklusive der Lightning Talks hatten durch die Bank weg eine sehr hohe Qualität.

In seiner Keynote lässt Dan Abramov die kurze Geschichte seiner Bibliothek Redux Revue passieren. Redux ist der defacto Standard zur Umsetzung des Flux Patterns bei React Applikationen. Redux ist eine kleine (wenige 100 Zeilen) Event-Emitter-Bibliothek, um die ein Ökosystem weiterer Bibliotheken entstanden ist. An Redux kam man an dieser Konferenz nicht vorbei: nicht weil die Vorträge davon handelten, sondern weil ein jeder sie sowieso als Foundation für seine Webapp einsetzt.

Keynote

Der zweite Talk handelte von einem neuen Entwurf, Navigationen in React Native zu implementieren. Navigation Experimental setzt auf Entkopplung von der UI Logik und setzt auf den State manipulierende Reducer.

Native Navigation

Lin Clark ist bekannt für ihre Comics, die komplexe Sachverhalte aus der Webentwicklung leicht fassbar aufbereiten. Hier widmet sie sich dem Thema Performance-Tuning von React Apps, nachdem sie die Basics (DOM und Reflows) aufgefrischt hat. Hängen geblieben bei mir sind zwei Punkte:

  • Immutability sorgt dafür, dass man die Model-Objects nicht deep vergleichen muss, sondern shallow, heisst nur auf Identität
  • hält man IDs statt / zusätzlich zu Objekten im State, kann man diese Primitives performant vergleichen

Performance

React Native Animation beleuchtet die Knöpfe, die man drücken muss, um mit React Native die erstrebenswerten und ruckelfreien 60 fps bei Animationen zu realisieren. K. Magiera spricht hier von den drei Pfeilern

  • JS Thread
  • Native Thread und
  • UI Thread

die dem Async-FATE harren.

rNat Animation

Christopher Chedeau spricht im nächsten Vortrag über seine Strategien, die helfen, die Reichweite und Sichtbarkeit von Open Source Projekten zu erhöhen. Er rät, auf wenige ausgewählte Kommunikationskanäle zu setzen und dabei einfach die richtigen Fragen zu stellen:

  • Womit kämpfst du gerade?
  • Was für coole Sachen baust du gerade?

Most memorable:

Blog posts are a developer's currency

Success OSS

GraphQL war allgegenwärtig, eigentlich war es ja auch die GraphQL Europe. Zudem drehten sich die Fragen der FAQ zum Grossteil um dieses Thema. GraphQL möchte selbst nur ein dünner Layer auf der Businesslogik sein. Most memorable:

THINK GRAPHS, NOT ENDPOINTS

GraphQL

Der für mich amüsanteste Vortrag handelte vom sehr abstrakten Thema Abstraktion. Cheng Lou zeichnet den Abstraktionsbaum auf und zeigt, welche Technologieentscheide auf welcher Ebene gefällt werden, bzw. welche Technologie wo angesiedelt ist und sich gerade deshalb gegen eine Alternative auf anderer Abstraktionsstufe durchsetzt. Most memorable:

Repeating Code is fine

Abstraction

M. Diordiev erweitert seit fast einem Jahr meinen Fuhrpark an Chrome-Devtools um eine Redux-Extension. Er zeigt das Debugging in Production, inklusive Export, Import und LiveSync. Neu in V2.0: die Generierung von UnitTests auf Basis des aktuellen Redux-States.

Debugging