it-swarm.com.de

"REST Vs GraphQL" ist es ein korrekter Vergleich?

Ich habe auf vielen Websites, die REST mit GraphQL. Vergleichen) gesehen, nachdem ich dieses Problem untersucht habe (eigentlich mein Problem), dass "ist es ein korrekter Vergleich?", Ich bin verwirrter. Seit dem REST hat eine andere Definition als GraphQL. Diese Frage beschäftigt mich damit, warum wir zwei verschiedene Konzepte miteinander vergleichen können.

eigentlich scheint mir der Vergleich so etwas zu sein:

IDE Vs Compiler! ??! oder BMW x6 Vs ISO 18541-5 (Straßenfahrzeuge)

aus dem Wiki:

Rest Definition:

Representational State Transfer (REST) ist ein Software-Architekturstil, der eine Reihe von Einschränkungen definiert, die zum Erstellen von Webdiensten verwendet werden sollen.

GraphQl-Definition:

GraphQL ist eine Open-Source-Sprache für Datenabfragen und -manipulationen für APIs und eine Laufzeit für die Erfüllung von Abfragen mit vorhandenen Daten.

bitte erhellen Sie meine Gedanken mit Ihren Antworten. Vielen Dank

7
m3hr24d

REST ist ein Architekturstil, der in den 1990er Jahren parallel zum World Wide Web entwickelt wurde.

Das World Wide Web ist eine Referenzanwendung für den Architekturstil REST (mit einige Abweichungen ).

HTTP ist ein Anwendungsprotokoll zum Übertragen von Dokumenten über ein Netzwerk.

GraphQL ist eine Abfragesprache und eine Ausführungsmaschine .

Sie haben Recht, dass der direkte Vergleich von REST und GraphQL ein Chaos ist. Sie können jedoch die Art der Probleme, die sie zu lösen versuchten, sorgfältig prüfen.

Durch die Anwendung des allgemeinen Software-Engineering-Prinzips auf die Komponentenschnittstelle wird die Gesamtsystemarchitektur vereinfacht und die Sichtbarkeit von Interaktionen verbessert. Implementierungen sind von den von ihnen angebotenen Diensten entkoppelt, was eine unabhängige Entwicklung fördert. Der Nachteil ist jedoch, dass eine einheitliche Schnittstelle die Effizienz beeinträchtigt, da Informationen in einer standardisierten Form übertragen werden und nicht in einer Form, die spezifisch für die Anforderungen einer Anwendung ist. Die Schnittstelle REST) ist so konzipiert, dass sie für die Übertragung von Hypermedia-Daten mit großen Körnern effizient ist. Sie optimiert den allgemeinen Fall des Web, führt jedoch zu einer Schnittstelle, die für andere Formen der Architekturinteraktion nicht optimal ist. Fielding, 20

In REST ist Caching eine große Sache, und die aktuelle HTTP-Spezifikation enthält einen gesamten RFC , der der Caching-Semantik gewidmet ist. Aber Leute, die GraphQL verwenden, haben anscheinend entschieden, dass das Caching für ihr Problem nicht von Bedeutung ist.

Wie ich am besten beurteilen kann, trifft GraphQL viele der gleichen Kopplungsoptionen wie SOAP . Das ist nicht richtig oder falsch - nur eine andere Abwägung der Kompromisse.

6
VoiceOfUnreason

Nein, dieser Vergleich ist nicht gültig.

Wie Sie gesagt haben, sind GraphQL und REST verschiedene Dinge, also ist es wie ein Vergleich von Äpfeln und Orangen.

Das ist eine Ansicht/Perspektive dieses Problems. Das zweite ist genau das Gegenteil - GraphQL/REST Vergleiche sind gültig und sehr nützlich.

Um diese zweite Sichtweise zu verstehen, müssen wir folgende Frage stellen:

Wie kann ich meine Daten an Kunden liefern? Welche soll ich nehmen ...?

Die Antwort auf die erste Frage enthält sowohl REST als auch GraphQL (auf viele andere Arten). Beide sind nützlich für die Übermittlung von Daten an Clients (Lesen - Erstellen von APIs). Die zweite Frage ist tatsächlich diejenige, die steht hinter all den Vergleichen, die Sie gelesen haben.

Der Vergleich verschiedener Arten der Datenlieferung ist gültig und notwendig. Unter diesem Gesichtspunkt spielt es keine Rolle, dass die Art der verglichenen Dinge anders ist. Beide können die Arbeit erledigen, daher sollten Sie sie vergleichen.

Es ist wie ein Vergleich des Geschmacks von Äpfeln und Orangen - das können Sie.

Persönlich mache ich diesen Vergleich die ganze Zeit. Sehr nützlich, um Kollegen verschiedene Arten der Problemlösung beizubringen.

4
CorwinCZ