Einführung einer GraphQL-API für den Shop
Wenn Leute heutzutage online einkaufen, gibt es so ein paar Dinge, die sie einfach voraussetzen. Selbst wenn ihr mit eurem Shop in diesen Bereichen auf dem höchsten Niveau unterwegs seid, werdet ihr dadurch nicht ein einziges Produkt mehr verkaufen. Hinkt ihr aber hinterher, kann euch das definitiv Konversionen kosten. Bei der Performance handelt es sich um genau so ein Thema. Deshalb zielt unser neues Shopsystem darauf ab, die Performance eures Shops zu optimieren, insbesondere bei den wichtigsten Seiten. Ein Schritt in diese Richtung ist die Implementierung einer GraphQL-API für Produktdaten.
Was sind APIs?
APIs, oder Application Programming Interfaces, dienen als Bindeglied zwischen verschiedenen Softwarekomponenten und ermöglichen Verbindungen herzustellen und Daten auszutauschen. Habt ihr euch jemals gefragt, wie euer Shop euren Produktkatalog in eurem Online-Shop anzeigt? Die Antwort ist eine API. Sogenannte Representational State Transfer-APIs (REST) sind seit Jahren ein Industriestandard, aber GraphQL hat aufgrund seiner Flexibilität und Effizienz an Popularität gewonnen.
Warum GraphQL?
GraphQL ist eine Abfragesprache und Laufzeitumgebung für APIs, die es Clients ermöglicht, spezifische Daten anzufordern, die sie benötigen. Bei REST-APIs hingegen erhalten alle Clients einen vordefinierten Datensatz. Für Online-Shops ist dies besonders relevant für Produktdaten.
Stellt euch zum Beispiel vor, dass die Mehrheit der Online-Shops Informationen über verschiedene Varianten eines Produkts auf Ihren Kategorieseiten anzeigen möchte. Aber für eure Kunden ist das einfach nicht so wichtig. Mit einer REST-API wärt ihr trotzdem gezwungen, all diese Variantendaten von eurem System in euren Shop zu übertragen. Aber mit GraphQL könnt ihr der API genau sagen, welche Daten für eure Seite notwendig sind, und nur das übertragen, was Ihr braucht.
Der GraphQL-Ansatz minimiert unnötigen Datentransfer, was zu schnelleren Ladezeiten, reduzierter Bandbreitennutzung und letztendlich einem besseren Shopping-Erlebnis für eure Kunden führt.
Wie profitieren Entwickler?
Wenn Ihr Entwickler für unseren neuen Shop seid, wird GraphQL euch einen großen Vorteil bieten: Flexibilität. Mit REST mussten wir immer eine Entscheidung treffen, welche Produktfelder Teil der Response sind und welche weggelassen werden sollten. Das heißt, es bestand immer die Möglichkeit, dass wir euch zu viele Daten lieferten oder zu wenige. Entweder war die Response deswegen zu langsam oder Ihr wart beim Erstellen eures Templates eingeschränkt.
In plentyShop LTS haben wir versucht, diese Lücke mit Result Fields zu schließen. Durch Result Fields gab es eine gewisse Flexibilität, welche Felder in die Response aufgenommen bzw. ausgeschlossen werden sollten. Der große Nachteil dabei war, dass jeder Händler die Result Fields separat pflegen musste. Mit GraphQL habt ihr eine programmatische Möglichkeit, genau die Daten anzufordern, die Ihr in euren Templates benötigt, direkt innerhalb eurer Anwendung.
Sollten wir etwas ändern?
Wir schätzen euer Feedback; teilt uns eure Gedanken und Vorschläge mit, wie wir diese Funktion verbessern können.
Stage
🗓️ ALS NÄCHSTES