Einführung in GraphQL
Dies ist Teil 1 der Reihe für GraphQL und Adobe Commerce. GraphQL ist schnell zum Branchenstandard geworden, der zeigt, wie leistungsstarke clientseitige Anwendungen mit einem Backend kommunizieren. Es ist ein zunehmend relevantes Thema für Adobe Commerce-Entwickler, da die Plattform ihre Funktionen im Bereich Headless-Implementierungen weiter ausbaut.
Wenn Sie mit GraphQL noch nicht vertraut sind, werden Sie in diesem Abschnitt auf die grundlegenden Konzepte und Verwendungsmöglichkeiten hingewiesen.
Verwandte Videos und Tutorials zu GraphQL in dieser Reihe
Was ist GraphQL?
GraphQL ist eine Spezifikation für eine eindeutige API-Abfragesprache und die Laufzeitumgebung, die Daten als Reaktion auf diese Abfragesprache bereitstellt.
Herkömmliche Web-APIs wie REST haben bei unterschiedlichen Systemen, die Daten hin und her weiterleiten, zwar gute Dienste geleistet, aber für moderne App-Link-Erlebnisse wie Progressive Webs Application weniger als Spitzenleistungen erbracht. In solchen Anwendungen kommunizieren die Frontend- und Backend-Ebenen der Anwendung Dasselbe über die Web-API. Der reglementierte Ansatz von Schemas wie REST bietet in diesem Zusammenhang, wo viele Arten von Daten schnell abgerufen werden müssen, oft nicht die passende Flexibilität.
Mit GraphQL kann ein Client genau die benötigten Daten ausdrücken. Anstatt mehrere Netzwerkanforderungen zum Abrufen mehrerer Datentypen zu erfordern, kann eine einzelne Anfrage für viele Typen abgefragt werden. Außerdem werden Antworten schlank gehalten, indem nur die Typen und Felder aufgenommen werden, die angefordert werden (in einem Format, das die Abfrage intuitiv spiegelt).
Die Laufzeitumgebung, die die GraphQL-Spezifikation implementiert, kann in jeder beliebigen Sprache erstellt werden. Adobe Commerce und Magento Open Source verwenden die
graphql-php PHP-Implementierung und erstellt eigene Ebenen darauf.
Verwenden eines GraphQL-Clients
Sie benötigen einen GUI GraphQL-Client, um Codebeispiele und -Tutorials zu testen. Es gibt mehrere Optionen:
- Altair ist ein hervorragender Client mit vollem Funktionsumfang, der speziell für GraphQL entwickelt wurde. Adobe verwendet Altair in Video-Clips.
- Wenn Sie das Desktop-Programm nicht installieren möchten, gibt es auch Altair-Erweiterungen, die direkt in Ihrer
Der Browser Chrome, Firefox oder Edge. - GraphiQL ist eine Implementierung der GraphQL IDE von der GraphQL Foundation. Dies ist kein installierbares Tool, sondern ein Paket, mit dem Sie die Oberfläche selbst erstellen können.
- Wenn Sie bereits mit Postman vertraut sind, werden GraphQL-Abfragen zwar angemessen unterstützt, aber nicht so vollständig wie ein dedizierter GraphQL-Client.
In Ihrem GraphQL-Client sollten Sie Ihre Anforderungen an den URL-Pfad /graphql
in Ihrer Adobe Commerce- oder Magento Open Source-Instanz senden. Wenn Sie es vorziehen, eine vorhandene Instanz für Ihre Tests zu verwenden, können Sie die Demo des Venia-Designs (die Beispielimplementierung des PWA Studios) verwenden: https://venia.magento.com/graphql