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 zumdem ü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 zum Beispiel 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. einen 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 können wir uns entweder mit Java-basierte Frameworks (z.B. für Spring Boot) oder mit Apollo (NodeJS mit JavaScript/TypeScript) beschäftigen (Dauer: 2-3 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 und spring-graphql.

  • 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

Kontakt

Nils Hartmann

Buckhorn 41b

22359 Hamburg