GraphQL Lernen: Deklaratives Daten Abrufen für Moderne Webanwendungen

GraphQL Lernen: Deklaratives Daten Abrufen für Moderne Webanwendungen
Алекс Бэнкс, Ева Порселло
Genres: Programmierung
Jahr der Veröffentlichung: 2019
Jahr der Lektüre: 2020
Meine Bewertung: Gut
Anzahl der Lesevorgänge: 1
Gesamtseitenzahl: 240
Zusammenfassung (Seiten): 10
Originalsprache der Veröffentlichung: Englisch
Übersetzungen in andere Sprachen: Russisch, Chinesisch

Allgemeine Beschreibung des Buches

Das Buch ist relativ kurz und besteht aus nur 7 Kapiteln. Es enthält einige Abbildungen, allerdings nicht viele. Es lässt sich leicht und schnell lesen.

Kurzer Überblick über die Kapitel

Die ersten beiden Kapitel sind rein theoretischer Natur. Sie beschreiben, was GraphQL ist, wann und von wem es erfunden wurde und wo es eingesetzt werden kann. Sie diskutieren auch die Vor- und Nachteile im Vergleich zu REST, die Syntax, Prinzipien und mehr. Ein ganzes Kapitel dieser beiden ist der Graphentheorie gewidmet. Es behandelt Knoten, Ecken, die Geschichte der Graphentheorie, die Königsberger Brücken, Eulersche Kreise, Beispiele für Graphen in der Programmierung (z. B. der einfachste DOM-Baum in einem Browser) und ähnliche Informationen.

Ab etwa Seite 50 (von insgesamt 240) taucht das Buch tiefer in GraphQL ein. Zunächst wird es mit SQL verglichen. Danach werden Werkzeuge und Online-Plattformen vorgestellt, auf denen man GraphQL üben kann. Die Syntax und die Haupttypen von Abfragen werden detailliert besprochen, ebenso wie Fragmente als Möglichkeit, Code-Teile wiederzuverwenden.

Das nächste Kapitel handelt vom GraphQL-Schema. Hier werden Datentypen, ihre Definition und Verwendung detailliert beschrieben. Darüber hinaus wird die Validierung sowie Beziehungen (eins-zu-eins, eins-zu-viele, viele-zu-viele) behandelt. Auch Schnittstellen und Argumente werden ausführlich erklärt, ebenso wie Filterung und Paginierung.

Das Kapitel über die GraphQL-API konzentriert sich auf ein praktisches Beispiel zur Arbeit mit Fotos unter Verwendung von GraphQL und JavaScript. Es beschreibt den gesamten Prozess – von der Installation von apollo-server und apollo-server-express bis zur Verbindung mit MongoDB. Die Konfigurationen und Grundeinstellungen aller installierten Software werden detailliert beschrieben.

Während sich das vorherige Kapitel auf den Aufbau des Servers konzentrierte, geht es in diesem Kapitel um den Client (im Rahmen des gleichen Beispiels für das Hochladen von Bildern). Als Client-Implementierung wird Apollo Client gewählt. Um die Aufgabe zu erschweren, zeigt der Autor, wie man GraphQL mit React verbindet, und für ein realistischeres Beispiel werden Authentifizierung und Caching verwendet.

Das letzte Kapitel schließt das zuvor begonnene Projekt ab und führt noch komplexere Konzepte ein – wie Abonnements und den Echtzeit-Upload von Dateien. Es wird auch auf Sicherheitsfragen eingegangen: Probleme, die mit der Tiefe und Komplexität von Abfragen verbunden sind, werden hervorgehoben.

Persönliche Meinung

GraphQL ist eine gute Alternative zum populären REST-Ansatz. Dieses Buch führt den neuen Standard der Datenübertragung am Beispiel der Abfragesprache GraphQL ein. Es bietet einige grundlegende Informationen darüber, warum es benötigt wird, welche Probleme es löst und ein wenig Graphentheorie, bevor es in die Details und die Syntax von GraphQL eintaucht. Meine Einführung in GraphQL begann mit diesem Buch, und beim Lesen traten keine Schwierigkeiten auf. Das Buch erschien mir sehr verständlich und zugänglich, daher kann ich es anderen empfehlen.

Вверх