rsocket / rsocket-js

JavaScript implementation of RSocket

Home Page:https://github.com/rsocket/rsocket-js

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Status and recommendations?

anderspitman opened this issue · comments

Hey @viglucci, just wondering what the current status of rsocket-js is. Would you recommend using the 1.0 alpha or sticking with 0.x?

Hey @anderspitman thanks for the question.

Right now I would consider RSocket-js maintained but not under active development, though I will caveat that I do not speak for the full collective of contributors. If there are bugs or issues, especially with the 1.0.0 branch, then I'll certainly do my best to address them.

With that being said I personally have a strong desire to finish the Typescript re-write and push to a 1.0.0 release, but I've not had the time or energy to do some in some time, and I believe I'm the contributor who would be most likely to see that through at this point.

Regarding the question of which version you should use depends a bit on your use case and risk tolerance. In all likelihood 1.0.0 will be the future of this project, however it currently publishes with an alpha version so there is atleast some potential for breaking changes in the API, though realistically speaking I find that likelihood to be minimal or unlikely. The biggest risk to breaking changes would be if major flaws were found that prevent the support of a QUIC transport, which is one of the original goals of the 1.0.0 branch.

From my understanding current users of rsocket-js are most likely on 0.X, so it is more "tested", though I would find it unlikely that major if any changes or maintenance efforts will be available for that version line unless other contributors were to become more active in doing so.

I hope that answered you question but do let me know if I can help further.

Thanks for the response. RSocket seems to have a really solid design, but I'm not sure it's a good fit for my project. All I need is multiplexing byte streams with backpressure, a la yamux or muxado. RSocket can certainly do this, but I feel like I'm paying a complexity cost for things I don't need, like leasing, resume, mime types, etc.

The designs of the implementations I've looked at also seem to be fairly heavily abstracted which adds to that feeling.

I'm also concerned that it doesn't seem to have a ton of traction (which is unfortunate because I think a lot of people would benefit from it).