By James Newton-King no less! If you're drinking the coolaid I'm going to have me a sip too! And thanks for that thingy, still using that about a million times per day.
"You know that thing everyone said was a bad idea 10 years ago...". How long before we get configurable bindings and the gRPCTestClient integrated into VS? :) FWIW, I see this as a welcome return of RPC application patterns to mainstream development. Hopefully it will reduce the number of application architectures that desparately try and make the square peg fit the round hole with "purely RESTful" services in the backend. Ignoring for now the lack of browser support I'm interested to see how this sits alongside websockets going forward.
@@Michael-London Oh you misunderstood me, I was trying to make a joke, he is using vs2019. He just made a mistake and said 2015. The joke being that he must have liked vs2015 so much to make such a mistake.
gRPC allows you to define the exact contract / interface that both the client and server interacts with. This basically creates a staticly typed link between your client and server as a result. Additionally, because gRPC works over HTTP/2, it by default supports streaming responses / requests, or both at the same time. This means you don't have to make a new request from scratch every time you need a neew resource. Obviously, this removes the connection delay and handshake time.
- Type safety - Some operations are not well abstracted by an rest-endpoint. - There is always the discussion how to communicate errors (via http status codes or in a response). - Grpc gets you really good generated code. Swagger and others don't generate as good code. But still, there is nothing wrong with REST. If it fits your needs, its totally great. I never liked it and am using grpc for many years.
It is hilarious to see how people reinvent the same wheel every 10-20 years or so. RPC and IDL existed 20 years ago. Now they heve been reinvented again, makes you wonder how ignorant of its own history the software industry is. I am now expecting someone to resurrect Corba over HTTP2 and give it some funky name 😀
I don't agree. It's not reinventing, it's progress and improvement. There is a reason why CORBA is totally dead and grpc is not. CORBA is over complicated (thousands of pages of spec). And good luck using CORBA for streams.I also find the tooling of grpc much nicer .
My WCF memories are coming back to me 😲
By James Newton-King no less! If you're drinking the coolaid I'm going to have me a sip too! And thanks for that thingy, still using that about a million times per day.
I never thought I'd get to see the legend:D
And also I send that thanks:)
the best grpc into ever....
"You know that thing everyone said was a bad idea 10 years ago...". How long before we get configurable bindings and the gRPCTestClient integrated into VS? :)
FWIW, I see this as a welcome return of RPC application patterns to mainstream development. Hopefully it will reduce the number of application architectures that desparately try and make the square peg fit the round hole with "purely RESTful" services in the backend.
Ignoring for now the lack of browser support I'm interested to see how this sits alongside websockets going forward.
What do you mean lack of browser support?
@@KieranDevvs 44:24 in the video. TLDW; gRPC requires HTTP/2 and whilst the browsers have good HTTP/2 support, their native javascript APIs don't.
Guys, would be great if you could load the video with higher resolution. Its hard to see the code that is being explained
16:35 Visual studio can launch mutliple projects.
I am just waiting to have proper support in Mac. 👍
7:22 he must have really liked vs2015
Exocomp yup why did he use vs2015!
Oh he is using vs2019 just the template is from 2015!
@@Michael-London Oh you misunderstood me, I was trying to make a joke, he is using vs2019. He just made a mistake and said 2015. The joke being that he must have liked vs2015 so much to make such a mistake.
Congrats guys you just reinvented SOAP.
He uses Mac, but the presentation is in Windows))
I don't understand honestly with this example, why is this different/better than using regular REST web api? What problems does it solves?
gRPC allows you to define the exact contract / interface that both the client and server interacts with. This basically creates a staticly typed link between your client and server as a result.
Additionally, because gRPC works over HTTP/2, it by default supports streaming responses / requests, or both at the same time. This means you don't have to make a new request from scratch every time you need a neew resource. Obviously, this removes the connection delay and handshake time.
@kuro thing . You could use OpenApi/Swagger with mustache templates for this
Static types with low latency serialisation for faster throughput.
- Type safety
- Some operations are not well abstracted by an rest-endpoint.
- There is always the discussion how to communicate errors (via http status codes or in a response).
- Grpc gets you really good generated code. Swagger and others don't generate as good code.
But still, there is nothing wrong with REST. If it fits your needs, its totally great. I never liked it and am using grpc for many years.
Fast AF
It is hilarious to see how people reinvent the same wheel every 10-20 years or so. RPC and IDL existed 20 years ago. Now they heve been reinvented again, makes you wonder how ignorant of its own history the software industry is. I am now expecting someone to resurrect Corba over HTTP2 and give it some funky name 😀
I don't agree. It's not reinventing, it's progress and improvement. There is a reason why CORBA is totally dead and grpc is not. CORBA is over complicated (thousands of pages of spec). And good luck using CORBA for streams.I also find the tooling of grpc much nicer .
Yep it's called evolution. gRPC is my preference for internal server communication. For outside world some other technology maybe a better fit.
Can you guys just stop making new super duper fancy frameworks!!!