Читать книгу GraphQL - Dominik Kress - Страница 5
ОглавлениеVorwort
Schon seit ich denken kann, fasziniert mich das Internet. Jemand am anderen Ende der Welt tippt etwas in seinen Computer, und ich bekomme diese Eingabe Tausende Kilometer entfernt zu sehen. Wie das genau funktioniert, war für mich schon immer eine der spannendsten Fragen.
Als ich dann irgendwann mit meinem Studium der Softwareentwicklung begann, konnte ich die Vorlesung »Verteilte Systeme« kaum abwarten. Doch als es endlich so weit war, kam die Ernüchterung: Das Internet bestand laut meinem Professor aus komplexen J2EE-Webservices, die gigantische XML-Strukturen über noch größere SOAP-Schnittstellen schieben.
Das hatte ich mir alles aufregender vorgestellt. Dabei liegt das Studium mit meinem Abschluss 2017 nicht mal in so ferner Vergangenheit. Doch gerade an Universitäten dreht sich die Zeit in einem ganz eigenen Rhythmus. Zum Glück half ein Hoffnungsschimmer, eigene Wege zu finden: eine Einführung in das Architekturmuster REST.
Diese eigenen Wege führten mich während meiner Bachelor-Arbeit über Schnittstellen in verteilten Systemen zu GraphQL. Da hatte ich es endlich: eine aufregend elegante Art, Applikationen – und damit Menschen – aus aller Welt zu verbinden.
Um diese Begeisterung zu teilen sowie anderen Anfängern bis fortgeschrittenen Webentwicklern zu zeigen, wie die Kommunikation zwischen Applikationen im Internet auch elegant funktionieren kann, habe ich dieses Buch geschrieben.
Für wen ist dieses Buch?
Dieses Buch ist für alle, die Interesse an Schnittstellen in verteilten Systemen und insbesondere an GraphQL haben. Die Motivation war, ein Grundlagenwerk zu schaffen, durch das man sowohl APIs im Generellen als auch GraphQL im Speziellen verstehen lernt.
Gerade in den ersten beiden Kapiteln wird daher zuerst das generelle Konzept erklärt – unabhängig von der GraphQL-Spezifikation. Vermittelt wird hier sowohl, was Schnittstellen in verteilten Systemen sind, als auch, worauf man bei ihrer Konzeption achten muss. Diese Kapitel richten sich ganz klar eher an Anfänger im Bereich der APIs.
Das Kapitel 1.4 über API-Technologien und -Spezifikationen im Vergleich mag auch für Fortgeschrittene interessant sein. Ansonsten ist für diese Zielgruppe ein Einstieg in Kapitel 3 ratsam.
Ab dort wird die API-Umsetzung anhand von GraphQL – und damit auch die Spezifikation selbst – ausgiebig vorgestellt. Neben den Möglichkeiten mit der Technologie werden auch Designempfehlungen und Implementierungsbeispiele sowohl mit JavaScript als auch mit Java vermittelt. Gerade für die letzten beiden Teile wird ein Grundlagenwissen in der Softwareentwicklung mit JavaScript und Java erwartet.
Was soll dieses Buch vermitteln?
Dieses Buch soll ein Grundlagenwissen schaffen. Ob man in der ersten Vorlesungsstunde des Kurses »Verteilte Systeme« eine modernere Alternative zu dem dort Vorgestellten sucht oder sich als fortgeschrittener Entwickler schlicht für GraphQL interessiert: Nach der Lektüre dieses Buches sollte sowohl verstanden sein, wie APIs mit GraphQL funktionieren, als auch, wie sie umgesetzt werden.
Die Implementierungsbeispiele der letzten beiden Kapitel dienen dabei als Boilerplate-Code, der gut zum Start eines eigenen Projekts mit GraphQL verwendet werden kann. Dessen Konzept zu verstehen und ihn weiterentwickeln zu können, ist das Ziel dieses Buches.