Skip to content
 
 

Repository files navigation

theme uncover
paginate true
backgroundColor
marp true
backgroundImage url('bg.jpg')
class
invert

dotnet APi technologies

Grpc, Rest and GraphQL


About me

Raphael Kuster

Software Dev for ~10y a lot of random other stuff (festivals, woodworking ...)



xlogo.svg w:32 @rfKust ghlogo.svg w:32 BigHoss


Rest

Benefits

  • Technology agnostic (it's just text)
  • Human readable
  • Easy doc (Swagger)
  • widely used
  • Caching

Drawbacks

  • Lots of boilerplate (code & content)
  • Performance
  • Over- / Underfetching
  • No Realtime functionality out of the box
  • Complexity with Hierarchical Data

Rest Demo


GraphQL

Benefits

  • Data Fetching Efficiency
  • Strong Typing
  • Automatic Documentation
  • Performant Subscriptions

Drawbacks

  • Complexity
  • Performance for large Queries
  • Caching complexity
  • Complicated Versioning

GraphQL Demo


Grpc

grpc.io

Benefits

  • Performance
  • Language-Independent
  • Bi-Directional Streaming and flow control
  • Deadlines and Cancellation Propagation
  • Strongly-Typed Service Contracts

Drawbacks

  • Limited Browser Support (except grpc-web)
  • Less Human Readable
  • Another language to describe contracts

Grpc Demo


Thanks for your attention

The code is on github

https://github.com/kuster-live/ApiTechnologies

qrcode w:250

Slack Invite

About

Talk of Month February 2024

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages