Mein Angebot rund um GraphQL

GraphQL ist eine Alternative zu bekannten HTTP-basierten APIs wie z.B. REST. Mit der Sprache GraphQL kann ein Client flexibel selbst bestimmen, welche Daten er vom Client lesen (bzw. schreiben) möchte.

Da GraphQL APIs zudem über ein getyptes Schema verfügen, haben GraphQL Clients Typsicherheit bei der Verwendung der API. Auf Basis dieses Schema gibt es außerdem hervorragende Tool-Unterstützung bei der Entwicklung von GraphQL-basierten Clients.

Bei der Bereitstellung von GraphQL APIs im Backend gibt es allerdings einige Herausforderungen. Die Flexiblität der Sprache bringt für den Server entsprechend komplexe Anforderungen zum Beispiel hinsichtlich Performance und Sicherheit mit sich.

Entwicklung von GraphQL-Anwendungen

Wenn Du eine GraphQL API entwerfen und implementieren möchtest, unterstütze ich dich beim API Design, entwerfe mit dir Architekturen für deine GraphQL API, mache Technologie Vorschläge und führe Code Reviews durch. Gerne baue ich auch einen Prototypen, Proof-of-Concept oder MVP deiner Anwendung.

Individuelle In-House-Schulungen

Ich biete Schulungen für dich und dein Team rund um das Thema GraphQL an. Dabei können wir uns unter anderem damit beschäftigen, was GraphQL überhaupt, worin Stärken und Schwächen dieser Technologie liegen und ob bzw. wie der Einsatz von GraphQL für deine Einsatzzwecke sinnvoll ist.

Neben den theoretischen und konzeptionellen Grundlagen zeige ich dir außerdem, wie Du eine GraphQL API für deine eigene Anwendung entwerfen und das Backend dafür entwickeln, optimieren und betreiben kannst und zwar auf Basis von Java mit Spring oder auch auf Basis von NodeJS. Wenn Du ein Frontend mit GraphQL bauen möchtest, können wir uns ansehen, wie Du das mit React und TypeScript "Ende-zu-Ende" typsicher mit verschiedenen Client Bibliotheken entwickeln kannst.

Vorschläge für mögliche Workshops

Die genauen Inhalte und Umfang können wir immer individuell besprechen und festlegen.

  • Einführung in GraphQL: Was ist GraphQL überhaupt? Welche Vor- und Nachteile bringt der Einsatz von GraphQL? Ist GraphQL die richtige Technologie für dein Projekt? Dauer: ca. ein halber bis ein ganzer Tag.
  • GraphQL APIs und Server (mit Java oder NodeJS): In diesem Workshop sehen wir uns an, wie ihr eine GraphQL API beschreiben und im Backend implementieren könnt. Als mögliche Frameworks kann ich graphql-java und Spring for GraphQL (für Spring Boot) anbieten oder Apollo (NodeJS mit JavaScript/TypeScript). Dauer: ca. zwei Tage.
  • GraphQL Clients mit React: Wenn Du React Client baust, in denen Du auf GraphQL APIs zugreifen willst, können wir einen Workshop zu populären GraphQL Bibliotheken, wie den Apollo React Client, machen. Dabei siehst Du auch wie Du zusammen mit TypeScript und anderen Tools eine typsichere Entwicklung vom Backend bis zum Frontend bauen kannst. Dauer: 1-2 Tage.

Workshop: GraphQL-Anwendungen mit Spring Boot

Hier findest Du eine mögliche Agenda für einen Workshop zur Entwicklung von GraphQL APIs mit Spring Boot bzw. Spring for GraphQL. Dauer: ca. zwei Tage

  • Die Basis: graphql-java, Konzepte und Architektur
  • Das API Schema beschreiben
  • Queries, Mutations und Subscriptions mit spring-graphql implementieren
  • GraphQL Interfaces und Unions verwenden
  • Eigene skalare Datentypen zur Verfügung stellen
  • Asynchrone Handler-Funktionen
  • Optimierungen mit DataLoader und BatchLoader
  • Zugriff auf REST APIs
  • Reaktive APIs von Spring verwenden
  • Datenbankzugriffe für GraphQL Queries optimieren
  • Security
  • Validation und Fehlerbehandlung
  • Testen der API