Dienstag, 09:30 Uhr

Fullstack GraphQL mit Apollo und React

GraphQL ist eine Sprache zur Abfrage von Daten, die auch als "Alternative zu REST" bezeichnet wird. Clients können dank flexibler Abfragemöglichkeiten je nach Use-Case selber bestimmen, welche Daten sie vom Server laden oder auf dem Server speichern wollen.

In diesem Workshop lernst Du, was GraphQL ist, für welche Einsatzszenarien sich die Sprache besonders gut eignet und wo die Grenzen von GraphQL liegen. An Hand einer Beispielanwendung sehen wir uns an, wie Du mit dem Open-Source-Framework Apollo eine GraphQL-API für dein bestehendes Node.js-Backend implementieren und für Clients zur Verfügung stellen kannst. Um die API dann auch zu verwenden, entwickeln wir abschließend einen kleinen React-Client für die Anwendung.

Vorkenntnisse:
* JavaScript-Kenntnisse
* Grundlegende React-Kenntnisse zum Aufbau des Clients (die allgemeinen GraphQL-Konzepte lassen sich auch auf andere Frameworks übertragen)
* Teilnehmer sollten ein Notebook mitbringen, auf dem Node.js (LTS-Version 10.x), Git sowie ein beliebiger Editor/IDE installiert sind. Die restlichen Module werden vor Ort über npm/yarn installiert.

Lernziele:
* Was ist GraphQL und für welche Use-Cases ist es geeignet?
* Wie kann ich eine GraphQL-API mit dem Apollo-Framework für meine eigene Node.js-Anwendung zur Verfügung stellen?
* Wie sehen GraphQL-Clients aus (exemplarisch in React)?

Technische Anforderungen:

  • Teilnehmer sollten ein Notebook mitbringen, auf dem Node.js (LTS-Version 10.x), Git sowie ein beliebiger Editor/IDE installiert sind. Die restlichen Module werden vor Ort über npm/yarn installiert.

  • Die Teilnehmer müssen in der Lage sein, über das W-LAN vor Ort über npm oder yarn Module zu installieren und benötigen per Git Zugriff auf GitHub

Falls Sie ein Gerät Ihrer Firma verwenden, überprüfen Sie vorher bitte, ob eines der folgenden, gelegentlich vorkommenden Probleme bei Ihnen auftreten könnte:

  • Workshop-Teilnehmer hat keine Administrator-Rechte

  • Corporate Laptops mit übermäßig penibler Sicherheitssoftware

  • Gesetzte Corporate-Proxies, über die man in der Firma kommunizieren muss, die aber in einer anderen Umgebung entsprechend nicht erreicht werden


Agenda:

ab 08.30 Registrierung und Begrüßungskaffee

09.30: Beginn

  • Einführung in GraphQL, was ist das überhaupt?

  • Mögliche Anwendungsszenarien

  • Syntax der Sprache

  • Einführung in die Apollo Platform

10.45 - 11.00: Kaffeepause 

  • Wie wird eine GraphQL API mittels eines Schemas beschrieben?

  • Resolver zum Datenladen

  • Zugriff auf REST- und Datenbank-Ressourcen

  • Caching, Performance Optimierung

12:30 - 13.30: Mittagspause / 14.45 - 15.15: Kaffeepause

  • Einführung Apollo für React

  • Vorstellung Query-, Mutation und Subscription-Komponente

  • Client-seitiges Caching

  • Typsichere Anwendungen mit TypeScript

  • Ausblick, Fragen & Diskussionen

ca. 17 Uhr: Ende

Nils Hartmann
@nilshartmann

Nils ist Softwareentwickler und -architekt aus Hamburg. Er entwickelt in Java und JavaScript und bietet Coaching und Workshops u. a. zu React und GraphQL an.