Alternative zu REST: gRPC-Web jetzt allgemein verfügbar

Die CNCF hat das Release der JavaScript-Client-Bibliothek gRPC-Web verkündet, die Web-Apps die Kommunikation zwischen gRPC-Diensten ermöglicht.

In Pocket speichern vorlesen Druckansicht 53 Kommentare lesen
Alternative zu REST: grPC-Web jetzt allgemein verfügbar

(Bild: 3mikey5000, Pixabay)

Lesezeit: 2 Min.
Von
  • Björn Bohn

Die JavaScript-Client-Bibliothek gRPC-Web (gRPC Remote Procedure Calls) ist jetzt allgemein verfügbar. Sie soll es Web-Applikationen ermöglichen, direkt zwischen gRPC-Diensten im Backend zu kommunizieren, ohne einen HTTP-Server als Zwischenstation ansprechen zu müssen. Dadurch können Entwickler gRPC-Architekturen für ihre Applikationen "end-to-end" entwickeln. Dazu müssen sie die Datentypen auf Client- und Serverseite sowie die Service-Interfaces in einer .proto-Datei definieren. Damit soll gRPC-Web eine Alternative zu REST in der Webentwicklung bieten.

gRPC ist ein ursprünglich von Google entwickeltes, quelloffenes System für Remote Procedure Calls (RPC). Es nutzt HTTP/2 als Transport und Protocol Buffers als Interface Description Language (IDL). Es besitzt Features wie Authentifizierung und bidirektionales Streaming. Außerdem funktioniert es sprachen- und plattformübergreifend.

Die Cloud Native Computing Foundation (CNCF) erklärt in ihrer Ankündigung weiterhin, dass gRPC-Web es Anwendern ermöglicht, einen "Servicevertrag" zwischen Webapplikationen und den gRPC-Servern im Backend zu schließen. Dazu verwendet die Bibliothek die .proto-Definitionen und automatisch generiertes JavaScript. Entwickler haben die Wahl, ob sie Closure Compiler JavaScript oder CommonJS verwenden.

Nicht notwendig für den Entwicklungsprozess sind hingegen JSON-Logik und das Verwalten von HTTP-Status-Codes. Im Vergleich zu REST spricht also ein Client Protocoll Buffers zu einem gRPC-Backend-Server, der sich in derselben Art und Weise mit anderen Backend-Diensten austauscht. Bei REST spricht die Web-App HTTP zur REST API im Backend, die dann Protocol Buffers an die anderen Dienste weitergibt.

Der Vergleich zwischen gRPC und REST

(Bild: CNCF)

Mit der End-To-End-Anknüpfung von gRPC kehrt laut der CNCF ebenfalls der Vorteil einher, dass Client-Bibliotheken eben nur noch gRPC-Bibliotheken benötigen und auf den HTTP-Client verzichten können. Außerdem soll die Koordination zwischen Frontend- und Backend-Teams deutlich einfacher werden.

Der Beitrag der CNCF bietet neben einer Beispielanwendung auch einen Ausblick auf die Zukunft. Angedacht sind eine Integration in beliebte Frontend-Frameworks wie Angular, React und Vue sowie eine Entwicklung sprachspezifischer Proxies. (bbo)