← Alla inlägg REST, GraphQL & gRPC

REST, GraphQL & gRPC

Vilka tekniker vill du välja för ditt backend. REST, GraphQL eller gRPC? De skiljer sig åt när det gäller flexibilitet, prestanda och användningsområden.

apirestgrpcgraphql

REST

REST (Representational State Transfer) är den mest etablerade API-arkitekturen. Kommunikation sker vanligtvis över HTTP där resurser exponeras via URL och data skickas i JSON-format.

Fördelar:

  1. Enkel att förstå och implementera
  2. Brett stöd i verktyg och ramverk
  3. Passar väl för traditionella webb- och mobilapplikationer

GraphQL

GraphQL är ett frågespråk för API som gör det möjligt för klienten att själv välja exakt vilken data som ska hämtas. Detta minskar risken för över- eller underhämtning av data.

Fördelar:

  1. Flexibel datahämtning
  2. Färre API-anrop behövs
  3. Särskilt användbart för komplexa användargränssnitt

gRPC

gRPC är ett högpresterande RPC-ramverk som använder Protocol Buffers för dataöverföring. Det är optimerat för snabb och effektiv kommunikation mellan tjänster.

Fördelar:

  1. Mycket hög prestanda
  2. Stark typning och automatisk kodgenerering
  3. Stöd för strömmande kommunikation (streaming)

Vad väljer jag själv?

Jag har såklart skapat en massa REST api'er genom åren. Har sina fördelar med CRUD och JSON. Men på senare tid har jag börjat titta lite mer på gRPC då jag befinner mig inom kubernetes där en del services pratar mycket med varandra.

Betygsätt detta inlägg