HOSTtest Plus – Werde sofort benachrichtigt, wenn deine Website ausfällt
SMS Anruf E-Mail
Jetzt kostenlos überwachen

GraphQL vs. REST API - was sind die Vorteile

Autor: HOSTTEST-Redaktion   | 09.04.2021

GraphQL vs. Rest APIDamit Anwendungen im Web mit anderen lokalen oder entfernten Programmen Informationen und Daten austauschen können, verwenden sie ein Application Programming Interface (API). Dabei handelt es sich um auf einer Seite implementierten, universellen Schnittstelle, die die Struktur und die Art der Kommunikation definiert und auf Verbindungen von außerhalb wartet. Für das Format der Kontaktaufnahme und Datenübermittlung existieren neben eigenen und proprietären Lösungen ebenfalls allgemeine Normen, die das Ziel haben, einen einheitlichen Standard unabhängig von einer speziellen Anwendung zu definieren. Zwei der populärsten und am weitesten verbreiteten Ansätze sind GraphQL und Representional State Transfer (REST).

 

Was verbirgt sich hinter REST und GraphQL?

Sowohl GraphQL wie auch REST dienen dazu, eine Grundstruktur für eine allgemein verständliche und einsetzbare API vorzugeben. Es handelt sich allerdings lediglich mit Einschränkungen um eine konkrete Schnittstelle mit einer festen und genormten Struktur sowie Befehlen, sondern prinzipiell zunächst einmal um zwei unterschiedliche Konzepte oder Architekturen, die jeweils eigene Vorteile und Nachteile aufweisen. Speziell REST verzichtet bewusst darauf, eine einheitliche und universelle Schnittstelle festzulegen, sondern beschreibt primär ein Verfahren für die Kommunikation zwischen Programmen oder Maschinen (Machine-to-Machine oder M2M).

Im Unterschied dazu umfasst GraphQL eine Kombination aus einer SQL-ähnlichen Abfragesprache, einer passenden Laufzeitumgebung für unterschiedliche Programmiersprachen und einem Typsystem für die Beschreibung der API.

Was sind die Merkmale und Vorteile von REST?

Die Entwicklung und der Name von REST gehen auf die Dissertation des US-amerikanischen Informatikers Roy Thomas Fieldings zurück, der unter anderem eine entscheidende Rolle bei der Spezifikation von HTTP als Übertragungsprotokoll für Daten spielte. In seiner Arbeit entwickelt er REST als eine Reihe von Vorgaben, die für eine Kommunikation etwa als API einzuhalten sind. Darunter befinden sich etwa:

  • Adressierbarkeit jeder Ressource durch eine weltweit einmalige Adresse in Form einer URL
  • Vereinheitlichung der Schnittstelle etwa durch die POST und GET Methode bei HTTP
  • Einfache und eindeutige Struktur mit Server und Clients, die die Verbindungen aufbauen
  • Nachrichten enthalten alle für das Verständnis notwendigen Daten (Zustandslosigkeit)
  • Darstellung von Ressourcen in unterschiedlichen Sprachen wie HTML, JSON oder XML
  • Bereitstellung durch einfache URLs durch den Server ohne weitere Informationen

Aus diesem Ansatz ergeben sich zahlreiche Vorteile, während die Nachteile überschaubar bleiben. Die Vorteile umfassen unter anderem:

  • Webserver wie NGINX oder Apache als Schnittstelle zur API
  • Verwendung von selten geblockten Ports für die Kommunikation
  • Eindeutige und einfache Identifizierung der API
  • Verwendung von HTTP Methoden wie POST und GET für die Kommunikation
  • Unabhängig von Plattform, Betriebssystem und Software
  • Unterstützung für mobile Clients und Desktops
  • Ausgezeichnete Skalierbarkeit und Performance

Welche Eigenschaften zeichnen GraphQL aus?

Hinter GraphQL steht Facebook, das 2012 die Norm für eine effiziente API zunächst für den internen Gebrauch entwickelte und diese seit 2015 für den allgemeinen Gebrauch als Open Source veröffentlichte. Es handelt sich um eine Kombination aus einer Laufzeitumgebung mit Bibliotheken für wichtige Programmiersprachen wie Java, JavaScript, PHP, Python oder Ruby und einer Datenbank mit einer SQL-ähnlichen Syntax. Eine Abfrage der Validität von Anfragen ist über das Typsystem möglich, das aufgrund seiner individuellen Struktur und spezieller Einträge einen Nutzer identifizieren und authentifizieren kann. Die Vorteile von GraphQL bestehen aus:

  • Leichte Integration in eigenen Code durch Bibliotheken
  • Kompatibilität mit unterschiedlichen Programmiersprachen und Frameworks
  • Vollständige Laufzeitumgebung in Open Source verfügbar
  • Direkt Austausch von Informationen im Format einer Datenbank
  • Flexible Anpassung der API problemlos möglich
  • Unabhängig von einem Webserver oder anderer IT-Infrastruktur

Fazit: Welche API eignet sich für ein bestimmtes Projekt?

Beide Varianten weisen spezifische Vorteile auf, besitzen aber aufgrund ihrer Flexibilität und ihrer Möglichkeiten zur Individualisierung lediglich wenige Nachteile. Für welches Verfahren sich Programmierer entscheiden, hängt oft von der persönlichen Präferenz und weniger von konkreten Einschränkungen ab. Eine Ausnahme bilden Stand-Alone-Applikationen, die ihre API ausschließlich lokal nutzen: Hier zeigt GraphSQL gewisse Vorteile, falls auf den Betrieb weiterer Software wie einem Webserver verzichtet werden soll.

Foto: Markus Winkler von Pixabay

 

Schreibe einen Kommentar



Weitere Webhoster


Weitere interessante Artikel

Was sind Continuous Delivery und Continuous Deployment?

Wir klären was Continuous Delivery und Continuous Deployment sind und wie ihr diese in euren Projekten integrieren könnt...

Was ist Continuous Integration und was sind die Vorteile?

Wir zeigen euch was CI ist und welche Vorteile ihr damit bei eurem Webprojekt in Zukunft haben könnt.

Was ist React und was sind die Vorteile

Wir erklären euch was React ist und wie ihr es bei euren Webprojekten einsetzen könnt.

Bootstrap Framework - Wie funktioniert es und was ist seine Aufgabe?

Bootstrap Framework - So nutzt du das Framework für deine nächste Website.

Angular - das Framework für JavaScript und was sind die Vorteile

Wir zeigen dir wann du auf das Framework Angular setzen solltest bei den Webprojekten und was die Vorteile sind.

Wofür steht XAMPP?

Im folgenden Artikel wollen wir uns genauer mit XAMPP beschäftigen und herausfinden, wofür die Abkürzung steht.

Aktuelle Ausschreibungen
Full Rack Colocat...
Vor kurzem Beendet
vServer unmanaged...
Vor kurzem Beendet
Webhosting & Doma...
Vor kurzem Beendet
E-Mail Hosting mi...
Vor kurzem Beendet
Neueste Bewertungen
Stephan J. hat dogado GmbH bewertet
Carbex G. hat RACK26 bewertet
Johannes V. hat RACK26 bewertet
Hesham S. hat lima-city bewertet
margit B. hat helloly GmbH bewertet
Carolin W. hat ServMedia.de bewertet
Eduard S. hat helloly GmbH bewertet
Justin W. hat RACK26 bewertet
Moritz G. hat FISINGER.de bewertet
Paul V. hat FUTRIS bewertet
Alexander hat STRATO GmbH bewertet
Werner N. hat hosttech Österreich bewertet
Marco K. hat IP-Projects GmbH & Co. KG bewertet
Reinhard J. hat hosttech Schweiz bewertet
Monica W. hat RACK26 bewertet
Elhedi B. D. hat Alfahosting GmbH bewertet
Knut W. hat RACK26 bewertet
Hilmar G. hat Webspace-Verkauf.de bewertet
Man7 hat Pixel X e.K. bewertet
Julian W. hat RACK26 bewertet