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

Web RPC, Datastreams & Data Channels With JS Client #22

Open
sirinath opened this issue May 20, 2020 · 3 comments
Open

Web RPC, Datastreams & Data Channels With JS Client #22

sirinath opened this issue May 20, 2020 · 3 comments

Comments

@sirinath
Copy link

sirinath commented May 20, 2020

Can we have JS Client which can be on the browser which can communicate with the server using a higher abstraction like RPC, Datastreams and/or Data Channels?

This can perhaps just providing a JS implementation of:

  • RPC
  • CSP
  • Datastreams
  • Dataflow
  • Serialisation
  • Codec

JS implementation will be to use it from the web.

JS side can also have DI implementation.

@sirinath sirinath changed the title Web RPC & Data Channels With JS Client Web RPC, Datastreams & Data Channels With JS Client May 20, 2020
@eduard-vasinskyi
Copy link
Contributor

Hello, @sirinath
We currently have no plans of porting our components to JS.
Some components are tightly coupled with JVM and it would not be possible to port them.
While other components theoretically can be ported to JS, they would probably lack a performance provided by JVM.
As for Dataflow and RPC clients, they use TCP for exchanging messaging with servers. And unfortunately, you cannot exchange raw TCP messages directly from the browser right now. You would need some kind of proxy for that.

@sirinath
Copy link
Author

sirinath commented Jun 6, 2020

I guess the problem is client-server communication which is very limited. I guess this can be rectified by implementing some of the standards on the server side like:

  • WebSockets
  • Server Sent Events (SSE)
  • CometD, Bayeux Protocol, Long Polling, JSONRequest, Bidirectional-streams Over Synchronous HTTP (BOSH)
  • WebRTC
  • REST
  • GraphQL
  • gRPC, MsgPacket, Fast Binary Encoding (FBE), Concise Binary Object Representation (CBOR), Simple Binary Encoding (SBE), FlatBuffers
  • WebDAV
  • XMPP
  • etc.

This way existing JS libraries can be used on the client-side/frontend-side.

@sirinath
Copy link
Author

Most important would be along with Ajax are:

  • WebSockets
  • Server Sent Events (SSE)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants