Thank you very much,
a few small follow-up question:

* Are the grpc-native and grpc-js versions supposed to be drop-in 
replacements or might their APIs divert in the future?
* What parts are currently missing from the JS version? 

Thanks in advance,
André

On Friday, November 17, 2017 at 11:07:02 PM UTC+1, Michael Lumish wrote:
>
>
>    1. Recently, development on the Node gRPC implementation has moved 
>    entirely to https://github.com/grpc/grpc-node. Issues and PRs 
>    specifically related to the Node implementation should be filed there. It 
>    is still implemented using code in grpc/grpc, so it has a submodule 
>    reference to that repository.
>    2. Node gRPC currently depends on protobuf.js 5, and because of how 
>    some of its APIs are re-exposed in gRPC's API, it cannot be updated 
> without 
>    a breaking change. The grpc-protobufjs package is part of a larger project 
>    that will involve that package replacing the direct dependency on 
>    Protobuf.js.
>    3. The grpc-tools package is a redistribution of the protoc-based code 
>    generator, including protoc itself. It will in fact generate both messages 
>    and services if you pass the right arguments, and the service definitions 
>    won't work without the message definitions. That package exists primarily 
>    to provide a code generation experience similar to what is available for 
>    other languages. To be clear, it is not supposed to be used with the 
>    Protobuf.js-based code generation; it is an alternate option for 
>    accomplishing the same goal. The primary difference between the two is 
> that 
>    the grpc-tools/protoc generator is a standalone executable that generates 
>    JS files, while the Protobuf.js generator generates JS objects and class 
>    definitions at runtime.
>    4. We've only recently started exploring the use of TypeScript in 
>    gRPC, so we haven't looked into generating TS definition files for service 
>    definitions from the protoc-based generator. I agree that such a thing 
>    would be useful, but I think it would be significantly more useful if and 
>    when protoc itself generates TS definitions for message descriptor files. 
>    That code lives in http://github.com/google/protobuf and is maintained 
>    by a different team.
>    5. I agree with you that it would be an improvement to document those 
>    things that you mention. I expect that we will be able to publish a 
> roadmap 
>    some time within the next month or so.
>
>
> On Wed, Nov 8, 2017 at 3:16 AM <andre...@gmail.com <javascript:>> wrote:
>
>>
>> Hello all,
>> I am currently evaluating gRPC for an IoT type application. We currently 
>> have several microservices written in Js that talk a custom protocol but we 
>> want to move on to Typescript and a standard RPC mechanism.
>>
>> I have quiet a few questions on the state of the gRPC/Node.js project and 
>> implementation:
>>
>> 1 | What is the relationship of the projects on 
>> https://github.com/grpc/grpc and https://github.com/grpc/grpc-node? 
>> Where should I file Node.js or Js specific issues or PRs?
>>
>> 2 | What is the relationship of grpc-node and protobuf.js? The 
>> grpc-native-core package has a dependency on an outdated protobuf version 
>> (^5.0.0) but from what I gather from grpc-protobufjs, it can somehow also 
>> deal with protobuf.js 6. How does that work? To me this kind of flexibility 
>> seems to make the project overly complex. Also, looking into 
>> https://github.com/grpc/grpc-node/issues/15 gives me the impression, 
>> that protobuf.js 6 is not fully supported yet.
>>
>> 3 | Code generation: Both grpc-tools and protobuf.js contain a code 
>> generator. My impression is that the grpc-tools generator generates only 
>> service files, while the one from protobuf.js also generates stubs for 
>> message definitions (and also Typescript definitions in v6.8). How are 
>> these supposed to be used together? Are there any plans to make this easier 
>> and more coherent?
>>
>> 4 | Typescript: I think it would not be too hard to generate Ts 
>> definition files alongside the Js files, all relevant type information is 
>> here. I currently have manually written definition files for my message 
>> types and services, but those need a few modification to 
>> grpc-native-core/index.d.ts. There are a lot of missed opportunities in 
>> type safety here, falling back to the 'any' type, when a generic parameter 
>> would work. But before tackling this area, I need to have the previous 
>> questions answered. Also, is there any general interest in this area from 
>> other people? Are there any plans to make the Typescript integration better?
>>
>> 5 | There should be more documentation, particularily:
>>     * how does grpc-node interact with protobuf.js
>>     * what is generated from the protoc plugin
>>     * a roadmap
>>     * what is currently worked on
>>
>> Best,
>> André
>>
>> -- 
>> You received this message because you are subscribed to the Google Groups 
>> "grpc.io" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to grpc-io+u...@googlegroups.com <javascript:>.
>> To post to this group, send email to grp...@googlegroups.com 
>> <javascript:>.
>> Visit this group at https://groups.google.com/group/grpc-io.
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/grpc-io/a26ea87b-08c2-4e83-b14d-82cec7fab2e0%40googlegroups.com
>>  
>> <https://groups.google.com/d/msgid/grpc-io/a26ea87b-08c2-4e83-b14d-82cec7fab2e0%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>> For more options, visit https://groups.google.com/d/optout.
>>
>

-- 
You received this message because you are subscribed to the Google Groups 
"grpc.io" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to grpc-io+unsubscr...@googlegroups.com.
To post to this group, send email to grpc-io@googlegroups.com.
Visit this group at https://groups.google.com/group/grpc-io.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/grpc-io/92007dc8-857d-46e4-a928-84bd286d6de6%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to