Meetup-Interview: GraphQL als Alternative zu REST

Am Mittwoch, den 22. April 2020, hält unsere Sonja einen Remote-Vortrag, in dem sie sich mit GraphQL als Alternative zu REST beschäftigt. Darin stellt sie die Grundlagen und Konzepte von GraphQL vor und zeigt in einem Live-Coding die Umsetzung einer einfachen Webanwendung.

Wir haben mit ihr im Vorfeld über ihre Erfahrungen und ihren Weg zu GraphQL gesprochen. Außerdem wird sie uns etwas über die Lernkurve erzählen.

Infos und Anmeldung zum Meetup

Warum arbeitest Du gerne mit GraphQL? Ist es für Dich einfach anzuwenden?

Es ist nicht unbedingt leichter anzuwenden. Die Denkweise von GraphQL ist eine ganz andere als der klassische REST-Ansatz. Aber ich arbeite eben sehr gerne damit, weil man sich genau die Informationen holt, die man braucht. Das macht die Anfragen wiederum sehr übersichtlich und ist daher eine sehr angenehme Art und Weise zu arbeiten.

Wie bist Du zu GraphQL gekommen? 

Ich habe letztes Jahr, also 2019, angefangen im Vaillant-Team zu arbeiten. Dort wurde zu dem Zeitpunkt eine Admin-Oberfläche als neues Projekt gestartet. In diesem Zuge haben meine Kollegen angefangen mit GraphQL zu arbeiten. Darüber bin ich dann auch damit in Berührung gekommen.

Sonja Hohlfeld

Sonja Hohlfeld

Ich hatte davon vorher schon einmal in einem Vortrag an der Uni gehört, da es zu diesem Zeitpunkt sehr neu war, wurde es dort im Zusammenhang mit Datenbanken erläutert. Ich hatte es deshalb auch schon einmal grob gesehen, aber habe mich nicht weiter damit beschäftigt.

Über das Projekt bin ich dann eben wieder damit in Berührung gekommen und habe da dann auch GraphQL gelernt. Zusätzlich hatte ich mich für das DevCamp vergangenes Jahr noch einmal näher damit befasst, weil ich da eine Session halten wollte. 

Was würdest du sagen, wie lange muss man sich mit GraphQL befassen, um es tatsächlich anwenden zu können? 

Bei uns im Projekt ist das Level von GraphQL schon sehr hoch(vgl. Working efficiently with GraphQL-CodeGen types in TypeScript oder unser postgraphile-audit-plugin), aber ich denke die Basics kann man sich über Tutorials in wenigen Tagen aneignen. Das sind dann aber nur die Grundzüge. Man müsste sich dann schon weiter damit beschäftigen, beispielsweise ein eigenes kleines Projekt machen und dann kann man sich nach und nach mit Zusatzfeatures und weiteren Details beschäftigen.

Die intensive Einarbeitung in GraphQL wird auf jeden Fall eine ganze Zeit in Anspruch nehmen.

Sonja

Die intensive Einarbeitung wird also auf jeden Fall eine Zeit lang dauern, was aber bei jeder Programmiersprache bzw. neuen Technologie der Fall ist. Es werden aber viele coole Tutorials zu GraphQL angeboten, daher ist die Einarbeitung gut möglich. 

Ich mache es wie gesagt seit 2019, war zwischendurch sogar ein halbes Jahr aus dem Projekt draußen und musste die Änderungen anschließend auch erst wieder aufarbeiten. Dennoch würde ich sagen, dass ich in den Grundlagen fit bin und mir zutraue, eigene Projekte mit GraphQL umzusetzen. Allerdings habe ich zu Hause noch keinen konkreten Anwendungsfall für eine Webanwendung mit GraphQL gefunden. Ich warte noch auf eine coole Idee für ein GraphQL Hobby-Projekt. Dafür mache ich Tutorials, beispielsweise für den kommenden Vortrag jetzt, eine simple App, in der man Inhalte posten, kommentieren, liken, etc. kann. 

Welche Vorteile/Stärken habt ihr durch GraphQL im Projekt? 

Mit GraphQL holt man gezielt die Daten, die man auch wirklich benötigt.

Sonja

Bei GraphQL ist der große Vorteil, dass man gezielt die Daten holt, die man wirklich braucht. Eine andere Möglichkeit eine API zu implementieren wäre REST, aber dort ist häufig die Problematik, dass man entweder zu viele oder zu wenige Daten holt. Man hat dann oft viele verschachtelte Anfragen, was das Ganze ziemlich kompliziert und unübersichtlich macht.

Bei GraphQL holt man sich genau das, was man will. Man kann es auch auf das Frontend genau zuschneiden. Wenn man genau weiß, welche Informationen auf seiner Weboberfläche dargestellt werden, dann holt man sich auch genau das. Oder aber man hat eine Handyapp und möchte dann auch nur die Daten holen die benötigt werden, da sonst unnötig viel Datenvolumen verwendet wird.

Das ist zwar bei uns nicht so ganz das Thema, da wir momentan keine Handyapp haben, aber in diesem Zusammenhang wird GraphQL auch häufig angewandt.

Infos und Anmeldung zum Meetup

Für neue Blogupdates anmelden:


Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.