RxJava
rsocket-java
RxJava | rsocket-java | |
---|---|---|
16 | 5 | |
47,675 | 2,339 | |
0.2% | 0.5% | |
8.4 | 4.1 | |
6 days ago | 3 months ago | |
Java | Java | |
Apache License 2.0 | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
RxJava
-
Top 10 GitHub Repositories for Python and Java Developers
3. RxJava This repository contains the source code for ReactiveX, a library used to create asynchronous and event-based programs with observable sequences. https://github.com/ReactiveX/RxJava
-
Humble Chronicles: Managing State with Signals
Is this similar RxJava, the reactive extensions library for https://github.com/ReactiveX/RxJava ? I have made that work in Clojure in production.
-
How to do threading in Android.
Since you mentioned java, there is RxJava and RxAndroid. Google general recommendation now is to use kotlin coroutines if you're considering writing your app with that.
-
It hurts
It's very quick though. In terms of the correctness of the syntax, I've never seen an issue while translating a single file or a single function. When I took the entire RxJava code base 5 years ago, right clicked on the source folder and converted to Kotlin, I found lots of problems. File by file I've never seen any issues though, but I also haven't done it much.
-
must known frameworks/libs/tech, every senior java developer must know(?)
You all beat me to MapStruct and Testcontainers. Honorable mention to RxJava, which I use in Desktop apps.
-
What is your tech stack?
RxJava with RxRelay (and rx-combinetuple-kt)
-
Best libraries for Android Developers
RxJava2
-
Reactive Data Streams - quick rxJava Summary
More information about rxJava, check it out here: (HERE)[https://github.com/ReactiveX/RxJava]
-
What are the most common used (3rd party) libraries and frameworks used in Android development?
Concurrency: Kotlin coroutines for general use, Rx or Flow for reactive programming (you can technically use Rx for regular concurrency as well, but not really what it's meant for)
-
Notification when item add to a ListView
If you're just looking at making a service call on a regular interval and notifying the user when there's an actual change in data, you can also look into RxJava https://github.com/ReactiveX/RxJava. From here you can "subscribe" to your service call, and then every time you make your service call you can have it look for changes compared to the previous emission .distinctUntilChanged() and then only notify it's subscribers when it notices an actual change. From there you can trigger a local notification and push to a LiveData (assuming MVVM) or otherwise update the UI to match as well.
rsocket-java
- RSocket – An alternative to gRPC with first-class browser support
-
Async Streams in WebAssembly with WasmRS
TL;DR: WasmRS is an implementation of RSocket for WebAssembly giving you reactive, async streams in and out of WASM modules. GitHub | Protocol details | Rust source | Go source
-
Mark Nottingham: Server-Sent Events, WebSockets, and HTTP
You might also checkout https://rsocket.io/
-
Server-Sent Events: the alternative to WebSockets you should be using
My personal WebSockets vs SSE TL;DR goes something like this:
* If you're on HTTP/2, start with SSE
* If you need to send binary data, use WebSockets
* If you need fast bidi streaming, use WebSockets
* If you need backpressure and multiplexing for WebSockets, use RSocket or omnistreams[1] (one of my projects).
[0]: https://rsocket.io/
[1]: https://github.com/omnistreams/omnistreams-spec
-
Woe be onto you for using a WebSocket
A few years ago I was more inclined to use WebSockets. They're undeniably cool. But as implemented in browsers (thanks to the asynchronous nature of JavaScript) they offer no mechanism for backpressure, and it's pretty trivial to freeze both Chrome and Firefox sending in a loop if you have a fast upload connection.
I designed a small protocol[0] to solve this (and a few other handy features) which we use at work[1]. A more robust option to solve similar problems is RSocket[3].
More recently I've been working on a reverse proxy[2], and realized how much of a special case WebSockets is to implement. Maybe I'm just lazy and don't want to implement WS in boringproxy, but these days I advocate using plain HTTP whenever you can get away with it. Server Sent Events on HTTP/1.1 is hamstrung by the browser connection limit, but HTTP/2 solves this, and HTTP/3 solves HTTP/2's head of line blocking problems.
Also, as mentioned in the article, I try to prefer polling. This was discussed recently on HN[4].
[0]: https://github.com/omnistreams
[1]: https://iobio.io/2019/06/12/introducing-fibridge/
[2]: https://boringproxy.io/
[3]: https://rsocket.io/
[4]: https://news.ycombinator.com/item?id=27823109
What are some alternatives?
Mutiny - An Intuitive Event-Driven Reactive Programming Library for Java
Reactor
Reactive Streams - Reactive Streams Specification for the JVM
Vert.x - Vert.x is a tool-kit for building reactive applications on the JVM
EventBus - Event bus for Android and Java that simplifies communication between Activities, Fragments, Threads, Services, etc. Less code, better quality.
pushpin - A proxy server for adding push to your API, used at the core of Fastly's Fanout service
ServiceTalk - A networking framework that evolves with your application
RxAndroid - RxJava bindings for Android
FluidFramework - Library for building distributed, real-time collaborative web applications