Skip to content
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

Scala support #1151

Closed
zackangelo opened this issue Oct 24, 2015 · 9 comments
Closed

Scala support #1151

zackangelo opened this issue Oct 24, 2015 · 9 comments

Comments

@zackangelo
Copy link

Would a codegen plugin that generates canonical Scala stubs on top of the Java runtime be an appropriate addition to this repo?

Is there work on official gRPC Scala support being done elsewhere?

@He-Pin
Copy link

He-Pin commented Oct 24, 2015

+1

1 similar comment
@qiutiaoming
Copy link

+1

@ejona86
Copy link
Member

ejona86 commented Nov 2, 2015

There is no official gRPC Scala support being done here or elsewhere. Us current maintainers have no real Scala experience.

A Scala repository could be created elsewhere and just depend on grpc-java's core. It could even copy the existing compiler project as a starting point for the generated code.

I'm not sure how much code that will end up being (how much of the Java API needs to be tweaked to be idiomatic Scala). If it's not much, we could discuss including it here. If it's sizable or might grow sizable then elsewhere may be better, although even then we could share some responsibility or you could @mention us in PRs that you'd like us to pay special attention to.

If there's reason to believe Scala and Java 8 APIs would be essentially identical (although I don't expect that to be the case), we could start working on the Java 8 API here.

@zackangelo
Copy link
Author

Thanks @ejona86, I'll take a look at those options. I've already modified the Java compiler to create Scala stubs and things seem to be working quite well.

I think that the code will end up being considerably different, so it's probably not worth trying to include it here (even with Java 8). If we started a separate grpc-scala project that depended on the runtime here, could we get it hosted under the official gRPC GitHub organization?

@tayama0324 and @xuwei-k are also working on adding gRPC support to the ScalaPB project (scalapb/ScalaPB#44), so I may just look into seeing how I can contribute to their efforts.

@ejona86
Copy link
Member

ejona86 commented Nov 3, 2015

@jayantkolhe, FYI

@ejona86
Copy link
Member

ejona86 commented Dec 1, 2015

@zackangelo, there has been some concern about implied support of languages in the grpc org; abandonware or half-done projects could be confusing. Our current plan is that once a implementation is mature enough and maintained by (say) > 1 person that it could become part of the grpc org. We don't yet have precise details of what "mature enough" means, but the idea is some minimum set of features (e.g., streaming, cancellation, deadline, gzip compression) plus interop tests that we would run continuously.

Some other "community-supported" languages seem to be further along than Scala, so I expect once Scala is coming close considering inclusion we'll already have the details more fleshed out. If not, then at that time please make an issue or send an email to the mailing list.

Closing this issue since work will be happening elsewhere for the moment (and already progress being made!). We're open to providing aid where possible, so feel free to open issues in the future.

@ejona86 ejona86 closed this as completed Dec 1, 2015
@tianhao-au
Copy link

@ejona86 Scala support would be great

@vyshane
Copy link

vyshane commented Oct 17, 2016

@ysihaoy, you can use gRPC with Scala via ScalaPB.

@mkotsbak
Copy link

mkotsbak commented Apr 1, 2017

See documentation here: https://scalapb.github.io/grpc.html

@lock lock bot locked as resolved and limited conversation to collaborators Sep 22, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants