Nate Barbettini - API Throwdown: RPC vs REST vs GraphQL, Iterate 2018

แชร์
ฝัง
  • เผยแพร่เมื่อ 3 พ.ย. 2024

ความคิดเห็น • 62

  • @michaelellis627
    @michaelellis627 4 ปีที่แล้ว +36

    VERY few people excel at presenting complex topics in a way that is interesting, informative, and easily digestible. After watching this video and the OAuth 2.0 and OpenID Connect video that led me here, it's clear that Nate Barbettini is one of those people. Please keep doing what you're doing!

  • @stuck90
    @stuck90 5 ปีที่แล้ว +98

    I loved your oAuth in plain english talk. Brought me here. Another awesome win. Keep doing these.

    • @anvaysfromairoli
      @anvaysfromairoli 4 ปีที่แล้ว +1

      @@jarnovirta6997 For me as well

    • @mehransarabchian6795
      @mehransarabchian6795 4 ปีที่แล้ว

      Same here :-D He is a great speaker and learnt a lot by his talk. Thanks :)

    • @gauravmalhotra944
      @gauravmalhotra944 4 ปีที่แล้ว

      I followed the same path and completely agree.

    • @aerlaut
      @aerlaut ปีที่แล้ว

      @@gauravmalhotra944 Same here

  • @JohnnyNilsson83
    @JohnnyNilsson83 3 ปีที่แล้ว +10

    Great talk. And btw, regarding the acronym - you could indeed call it "the 5 C's", but slightly modified into "D V C's".
    D = The
    V = Roman letter for 5
    C = ... well, the C's

  • @nelsonthekinger
    @nelsonthekinger 4 ปีที่แล้ว +9

    It's very funny because peaple praise GraphQL because of the schema stuff but that we praise NoSQL because is schemaless over the schema in Databases. I can't understand Humans.

  • @eyesight2073
    @eyesight2073 4 ปีที่แล้ว +21

    All these days I assumed I was doing REST API.
    After watching this....
    I was actually doing RPC in the name of REST API
    😅😅🤣🤣🤣

    • @nbarbettini
      @nbarbettini 3 ปีที่แล้ว +3

      I think we've all done that! :)

    • @LotusP2
      @LotusP2 3 ปีที่แล้ว

      SAME haha

  • @ChaitanyaDevavarapu
    @ChaitanyaDevavarapu 4 ปีที่แล้ว +5

    Wow, me too not an exception. First I watched ‘OAuth in plain English’. That interest brought me here. Another wonderful presentation. Kudos.

  • @AkhilSharmaTech
    @AkhilSharmaTech 4 ปีที่แล้ว +1

    probably the most mature talk on this topic

  • @THEBEST-lh6pq
    @THEBEST-lh6pq 3 ปีที่แล้ว +1

    Lol I feel attacked. Had no idea what RPC was, seems like have been using it all the time. An eye opener

  • @ehguacho2008
    @ehguacho2008 5 ปีที่แล้ว +7

    man, that was such an amazing talk! thnx a lot for sheding some light (:

  • @samanthaferguson6018
    @samanthaferguson6018 3 ปีที่แล้ว +1

    same here i also came after watching oAuth in plain English.Keep it up bro

  • @ShramikTangadkar
    @ShramikTangadkar 5 ปีที่แล้ว

    Explained nicely which API design patterns should we use.

  • @manantank
    @manantank 2 ปีที่แล้ว +1

    What an Amazing talk. I learned a ton of stuff - thank you very much !!!

  • @parahumanoid
    @parahumanoid 3 ปีที่แล้ว

    The "function explosion" is not a problem, I believe, with any careful planning. RPC is public by definition, so proper attention should be devoted to segmenting the api into groups. Granted, not all that simple to foresee everything, but we sure can go a long way to avoid the so-called "explosion". Also, why in the hell would to publish an API synonymous to internal structure? Have an abstraction layer for that!

  • @prastikgyawali6545
    @prastikgyawali6545 4 ปีที่แล้ว +1

    All I can say is GraphQL is the only positive contribution done to humanity by Facebook. LOL ! Great explanation tho.

  • @theaxacall
    @theaxacall 3 ปีที่แล้ว

    hey hi
    I made an api with express. I can read the images on the same port with api.map... but I can access the links of my api images from a different server, but I cannot view the images.

  • @jaysistar2711
    @jaysistar2711 4 ปีที่แล้ว +1

    I would say thay although caching is not as easy, it's better in GraphQL with ApolloEngine and ApolloClient due to the possibility of using id as a unique identifier for a server object, and per field timing and caching.

    • @nbarbettini
      @nbarbettini 4 ปีที่แล้ว +1

      I've had a pretty different experience with ApolloClient caching actually. More bugs due to ApolloClient doing weird caching stuff than anything else.

    • @jaysistar2711
      @jaysistar2711 4 ปีที่แล้ว +1

      @@nbarbettini Their use of the id field and your ability to override its use is not something that they talk much about, but they should because, as you said, it gets really confusing if you don't know what it's doing.

  • @boyangli9489
    @boyangli9489 5 ปีที่แล้ว +1

    Wow this is exactly what I am looking for! It clears my confusion! Thanks!

  • @meisterthea
    @meisterthea 6 ปีที่แล้ว +1

    Interesting and useful ways to think about APIs

  • @shoulderstack5527
    @shoulderstack5527 ปีที่แล้ว

    Thanks for the confirmation

  • @hackwar1
    @hackwar1 3 ปีที่แล้ว

    gRPC 'solves' many of the of the issues you describe with RPC API's. If used with protocol buffers, you get a single endpoint instead of X endpoints because the generated code abstracts this from the developer. The most important asset of any API is the contract and protocol buffers allow you to create backwards compatible contacts, so no need for 'v2' function names.
    Maybe also don't compare RPC with REST or GraphQL it's like comparing apples with pears. Because SOAP is RPC, gRPC is RPC and Corba as well, but they are very different. So a more fair comparison would have been to compare gRPC with the other two. Other than that, great talk, thank you!

  • @yjhjerry
    @yjhjerry 2 ปีที่แล้ว +1

    Very informative and explanatory, thank you!

  • @tommytian
    @tommytian 6 ปีที่แล้ว +2

    Great presentation! easy to understand. well done.

  • @cdishiyam9232
    @cdishiyam9232 4 ปีที่แล้ว

    came from that great OAuth talk ...

  • @anandsakthivel9425
    @anandsakthivel9425 4 ปีที่แล้ว

    Thank you! It's well organized presentation, I learned a lot.

  • @javacoder1986
    @javacoder1986 5 ปีที่แล้ว

    Great content, thanks for uploading.

  • @dinuminichandraweera3540
    @dinuminichandraweera3540 5 ปีที่แล้ว +1

    Wow. You rock, man. Amazing explanation

  • @emadknolg3937
    @emadknolg3937 5 ปีที่แล้ว

    Great presentation Nate, Thanks :)

  • @iwandepee
    @iwandepee 3 ปีที่แล้ว

    Great explanations!

  • @BGivo
    @BGivo 5 ปีที่แล้ว

    Seemed like this was put together from an initial idea to make them seem equal. If you listen closely, the content within shows why GraphQL is actually far superior. The only thing against it, really, is that it's more complicated and not everyone is familiar with it. I don't think this characteristic should hold equal weight when the point of the presentation is to compare technologies.

    • @nbarbettini
      @nbarbettini 4 ปีที่แล้ว +3

      My goal was not to show that they are equal, but they are different tools for different jobs. I think GraphQL absolutely shines for first-party APIs and some third-party ones too (now that it is becoming more mainstream). I wouldn't use it for communication between microservices.

    • @ngodinhloc3065
      @ngodinhloc3065 4 ปีที่แล้ว

      @@nbarbettini thanks Nate, for clearing my doubt. I have always believed that there is place for RPC, and REST is not suitable for micrservices communication, especially when it comes to asyn communication or messaging, that is where RPC shines.

    • @nbarbettini
      @nbarbettini 4 ปีที่แล้ว

      @@ngodinhloc3065 Indeed, Thrift and gRPC are very common for those scenarios.

  • @amirhosseinahmadi3706
    @amirhosseinahmadi3706 4 ปีที่แล้ว

    Great talk! Thank you!

  • @repme
    @repme 6 ปีที่แล้ว

    Thanks. Great presentation.

  • @KhaAadijaKHA
    @KhaAadijaKHA 5 ปีที่แล้ว

    Great presentation !

  • @barsvelioglu2276
    @barsvelioglu2276 4 ปีที่แล้ว

    Well done. Really nice explanation.

  • @humanbeing496
    @humanbeing496 5 ปีที่แล้ว

    great video quality!

  • @ravikumarprasad9009
    @ravikumarprasad9009 5 ปีที่แล้ว

    This guy is genius!

  • @kaamisama_jabrawala
    @kaamisama_jabrawala 6 ปีที่แล้ว +1

    great so none of the APIs i have seen up to this point has been true RESTful APIs. Good to know.

  • @rajeshkishore7171
    @rajeshkishore7171 3 ปีที่แล้ว

    Excellent

  • @bellajbadr
    @bellajbadr 5 ปีที่แล้ว

    great talk

  • @xinyuanliu1959
    @xinyuanliu1959 4 ปีที่แล้ว

    What does resource mean in the REST part?

    • @LeeBrandt
      @LeeBrandt 4 ปีที่แล้ว +1

      It means some _THING_ that you want to get. For instance: contacts.google.com holds contact resources. IMDB holds movie resources. I hope that helps.

    • @arunkumarsilvarajan7991
      @arunkumarsilvarajan7991 3 ปีที่แล้ว

      Every object/noun is a resource

  • @shivangchaturvedi237
    @shivangchaturvedi237 2 ปีที่แล้ว

    👏🏻👏🏻👏🏻👏🏻👏🏻👏🏻👏🏻👏🏻👏🏻... Bravo!

  • @arnavkumarambastha7638
    @arnavkumarambastha7638 5 ปีที่แล้ว

    Nate Barbettini - GOD _/\_

  • @jankidepala
    @jankidepala 5 ปีที่แล้ว

    i dont to see the screen..

  • @pharmokan
    @pharmokan 4 ปีที่แล้ว

    smart dude

  • @bobbydrake8113
    @bobbydrake8113 6 ปีที่แล้ว

    That shirt is cool.

  • @javacppdevelopment3884
    @javacppdevelopment3884 5 ปีที่แล้ว

    REST is the best.

  • @pharmokan
    @pharmokan 4 ปีที่แล้ว

    http/3 makes graphql obsolete