-
Notifications
You must be signed in to change notification settings - Fork 1.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
gRPC #22655
Comments
I copied the bug to fletch's issue tracker: Added Invalid label. |
This comment was originally written by @Emasoft I agree. It would be VERY helpful to have a Dart native implementation of gRPC, especially if it is included in the default framework, to allow an easier interoperability between Dart apps. It was disappointing that Google didn't include Dart support in its gRPC library, as you can see from here: http://www.grpc.io But that shortcoming can be attributed to the fact that Dart still lacks an HTTP/2 stack implementation. I've opened an issue for addressing the lack of HTTP/2 support here: https://code.google.com/p/dart/issues/detail?id=22661 |
Why was this copied to fletch's issue tracker? |
A gRPC implementation for Dart is being planned and will be based on the the Dart HTTP/2 stack currently being worked on. The gRPC implementation for some languages build on the gRPC C-library, but with the native extension model in Dart taking that route will make the package difficult to distribute, and an accessible HTTP/2 stack will still be missing. Set owner to @mkustermann. |
Hi Any status on the gRPC implementation ? I can see that HTTP/2 support was implemented in #21504. Thanks, |
According to dart-lang/http2#7 - this now exists as a proof of concept gRPC: https://github.com/mkustermann/grpc-dart-poc (I haven't tested it, just helping future people follow the path of links). |
To give an update on this: The Dart team will be actively working on a gRPC implementation for Dart during the coming months, most likely starting early Q1. |
Great news! Looking forward to test it out later on. 👍 |
Any idea whether that will include protobuf 3 support? IIUC it's technically optional, but AFAICT most gRPC services require it… Also, what about gRPC-Web? |
Very likely, because as you mention, a lot of APIs will use v3 proto files (e.g. this).
I cannot give you an answer here. |
Hello, we are migrating a lot of our codebase with a grpc micro-services architecture. Could you give me an update on the grpc implementation for dart please? 😄 |
I'll be working on this starting in Q2. We have an implementation by @mkustermann in dart-lang/appengine that I plan to use as the basis for the generic implementation. |
Any updates on grpc support? |
Nothing concrete yet, but I'm working on it. |
@jakobr-google please drop here a comment where you'll have anything to test |
Shouldn't be long now. I have a basic implementation of the client and server runtime in review, which should be posted soon. No guarantees about correctness or interoperability yet, but once that's landed it'll be easier to iterate. |
First PR has been merged into https://github.com/dart-lang/grpc-dart. Don't expect to be able to use what's there out of the box just yet, though. The current state is that basic gRPC call functionality works, but "advanced" features like custom metadata, deadlines, and cancellation do not, and I have only done extremely basic interoperability tests against the Go implementation. Oh, and there's no protoc plugin to generate the gRPC stubs yet. I plan to file issues for the things I'm working on, so you should be able to follow along on GitHub. |
@jakobr-google when you say there is no protoc plugin, is this specifically for the grpc rpc calls? Update: Answering my own question: From looking at the sample it looks like protobuf 3 is being generated (cool!) but the rpc stub generation is not quite there yet. Very nice ! |
Yep, specifically for the gRPC stubs. The protobuf messages are being generated. We do generate code for proto3, but the proto3 semantics is not fully implemented - that's being tracked in https://github.com/dart-lang/dart-protoc-plugin/projects/1 (and various issues in dart-lang/protobuf). |
I really should remember to update this thread more often, but tl;dr: Dart gRPC v0.1.0 is on pub. See README.md for the route_guide example for instructions on how to generate stubs from protobuf definitions (you'll need the latest version of protoc_plugin). It's still early days, but the core gRPC implementation Works For Me(tm). When you find issues, please file them! Stuff that's still being worked on is things like easy authentication to Cloud, etc. Right now, you have to manually add authentication headers, but if you get things right, it does work (For Me, at least). |
That's awesome! Might test it out soon!
…On 3 Nov 2017 08:05, "Jakob Andersen" ***@***.***> wrote:
I really should remember to update this thread more often, but tl;dr: Dart
gRPC v0.1.0 is on pub <https://pub.dartlang.org/packages/grpc>.
See README.md
<https://github.com/dart-lang/grpc-dart/blob/master/example/route_guide/README.md>
for the route_guide example for instructions on how to generate stubs from
protobuf definitions (you'll need the latest version of protoc_plugin).
It's still early days, but the core gRPC implementation Works For Me(tm).
When you find issues, please file them
<https://github.com/dart-lang/grpc-dart/issues/new>!
Stuff that's still being worked on is things like easy authentication to
Cloud, etc. Right now, you have to manually add authentication headers, but
if you get things right, it does work (For Me, at least).
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<#22655 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AA0F3BdJNNF6ApyDHvvAbA45qowPnEvdks5syw-PgaJpZM4E4FXn>
.
|
Official support has been announced, woohoo! |
It is great news but support is only for Flutter and VM/Server and not web. This issue was about the web support. |
My bad! I can keep it open. |
Actually I don't think this is about gRPC web. It was mentioned in a comment. |
Woohoo! |
This issue was originally filed by @zoechi
see also
The text was updated successfully, but these errors were encountered: