Rx.NET VS RxJS

Compare Rx.NET vs RxJS and see what are their differences.

Rx.NET

The Reactive Extensions for .NET (by dotnet)

RxJS

A reactive programming library for JavaScript (by ReactiveX)
Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
Rx.NET RxJS
61 97
6,439 30,076
1.6% 0.5%
6.6 9.0
16 days ago 7 days ago
C# TypeScript
MIT License Apache License 2.0
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
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.

Rx.NET

Posts with mentions or reviews of Rx.NET. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-06-20.
  • Patterns for consuming a throttled/rate limited external APIs?
    2 projects | /r/dotnet | 20 Jun 2023
    https://github.com/dotnet/reactive has a lot of different time related extensions for "events". Maybe you'll find something for yourself, if you google for rate limiting with reactive.
  • How can you detect when a user has stopped scrolling with WPF
    2 projects | /r/csharp | 17 Apr 2023
    Install Reactive Extensions: https://github.com/dotnet/reactive
  • MVVM Question: How do you manage the interaction between Model and ViewModel?
    4 projects | /r/csharp | 3 Apr 2023
    I'd use a dedicated event bus based on Reactive Extensions or MediatR to publish domain events from your domain services. This probably doesn't solve all your ViewModel update problems as is, maybe you need to revise the granularity (maybe you can have smaller ViewModels that refresh single property that exposes the Model) and lifespan (sometimes you can create a ViewModel, make it perform it's task and then discard it completely) of your ViewModels.
    4 projects | /r/csharp | 3 Apr 2023
    Typically if you want to notify interested parties (ViewModels in case of WPF) of Model changes you'd use some kind of pub-sub mechanism like Reactive Extensions or MediatR. Your ViewModel can subscribe to an event bus of some kind (either standalone or maybe exposed by an Aggregate if you follow DDD), your domain logic (which should be located in Model layer, not in ViewModel layer: Service, Repository, DDD Aggregate or whatever you'd like to call it) will then do something useful with your Model and publish the corresponding event to the event bus.
  • Async Methods after setting a property.
    2 projects | /r/csharp | 16 Mar 2023
    If you're finding yourself in a situation where you need to turn this behavior into a pattern because there are a lot of View Models that need to execute async business logic in response to some changes, I'd go with something like MediatR or Reactive Extensions. The idea is, again, that some other, probably business-level, component listens to changes in a decoupled way (that means it doesn't subscribe directly to your View Model, but to an event bus instead). View Model publishes change events to the event bus, and business-component reacts to these events by executing the business logic.
  • System.Reactive v6.0.0-preview.1 available on NuGet
    3 projects | /r/dotnet | 11 Mar 2023
    We'd really appreciate if it consumers of the library could update and provide any issues / bugs via the GitHub repo: https://github.com/dotnet/reactive/issues
  • Brett Slatkin: Why am I building a new functional programming language?
    10 projects | news.ycombinator.com | 5 Mar 2023
    The thing that really irks me is that the generator pattern doesn't have to be an OO-first feature. Observable streams[1] work with the same basic foundation and those are awesome for FP.

    [1]: https://reactivex.io/

  • What Are Signals?
    2 projects | news.ycombinator.com | 4 Mar 2023
    > I’m not sure what you mean by "Rx" in this context.

    From “reactive extensions”, a proper name for a family of libraries[1] (RxJava, Rx.NET, RxJS), AFAICT one of the first attempted implementations of mature FRP ideas in the imperative world and one messy enough that it took React for anything similar to reënter the mainstream.

    Compare the enthusiastic HN reception of “Deprecating the observer pattern” in 2011[2], mostly from people who heard of FRP in the functional setting, and the vitriol it received in 2018[3], from people for whom FRP came to mean Rx (and similarly confused things like Bacon.js). It is this vitriol that I meant to preemptively redirect by the mention of FRP ≠ Rx, so if you’re not aware of this history it’s no big loss to ignore it.

    [1] https://reactivex.io/

    [2] https://news.ycombinator.com/item?id=2972581

    [3] https://news.ycombinator.com/item?id=17845341

  • I love LINQ and the Entity Framework
    3 projects | /r/dotnet | 21 Oct 2022
    If you love LINQ, you'll like Rx.NET even more - iterating over events https://reaqtive.net/blog/2021/05/sequences-linq-rx-reaqtor-part-02-linq Or possibly even OData (LINQ to REST api)
  • Just “Discovered” Linq. Now Whole Program is Full of Linq.
    4 projects | /r/csharp | 5 Oct 2022

RxJS

Posts with mentions or reviews of RxJS. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-03-16.
  • Episode 24/09: Testing without TestBed, SSR & Hydration
    3 projects | dev.to | 16 Mar 2024
  • 10 Reasons for MiniRx Signal Store
    4 projects | dev.to | 1 Mar 2024
    RxJS is used for events and asynchronous tasks
  • What We Need Instead of "Web Components"
    8 projects | news.ycombinator.com | 22 Dec 2023
    > This proposal makes the same mistake as various stream implementations (including RxJS in the past) of making operators methods on the observable.

    I don't think they are making a mistake. I am sure Ben knows what he is doing, given how it was he who refactored rxjs 5 with all operators being methods on the Observable, to rxjs 6 with pipeable operators.

    But, their objective is not to bring rxjs into the browser, but rather to bring the Observable primitive into the browser. And, like Array prototype, which has methods, Observable, in order to be even minimally useful, needs some methods, which they modelled from TC39 iterators, for the sake of consistency.

    They say:

    > We expect userland libraries to provide more niche operators that integrate with the Observable API central to this proposal, potentially shipping natively if they get enough momentum to graduate to the platform. But for this initial proposal, we'd like to restrict the set of operators to those that follow the precedent stated above, similar to how web platform APIs that are declared Setlike and Maplike have native properties inspired by TC39's Map and Set objects. Therefore we'd consider most discussion of expanding this set as out-of-scope for the initial proposal, suitable for discussion in an appendix. Any long tail of operators could conceivably follow along if there is support for the native Observable API presented in this explainer.

    As to

    > We really need a `pipe` operator, at minimum

    Maybe we don't. Note that in RxJS version 8, they have introduced a new way of piping observables, which is the rx function [0]. Maybe they are thinking of something similar for the browser. Or maybe they are thinking of using the native pipeline operator if it ever gets approved.

    In the meantime, for any complex manipulations on observables, users will probably still import relevant functions from libraries.

    0 - https://github.com/ReactiveX/rxjs/issues/7203

  • Want to raise the bar 💯
    4 projects | /r/FlutterDev | 8 Dec 2023
    Hello and welcome! It's fantastic that you're looking to broaden your expertise in front-end development. Transitioning from Flutter to React and Angular is a great move, as it will provide you with a well-rounded skill set. ### Resources for Learning React: 1. **Official Documentation:** Start with the [official React documentation](https://reactjs.org/). It's well-written and comprehensive. 2. **React Fundamentals Courses:** Platforms like [freeCodeCamp](https://www.freecodecamp.org/) and [Codecademy](https://www.codecademy.com/) offer free React courses. 3. **React Hooks:** Understand the concept of hooks, a powerful feature in React. The [React Hooks documentation](https://reactjs.org/docs/hooks-intro.html) is a great resource. 4. **Project-Based Learning:** Build small projects to apply your knowledge. You can find ideas on platforms like [GitHub](https://github.com/) or [CodePen](https://codepen.io/). 5. **React Router:** Learn how to handle navigation in React using [React Router](https://reactrouter.com/). ### Resources for Learning Angular: 1. **Official Documentation:** Similar to React, start with the [official Angular documentation](https://angular.io/). 2. **Angular Tour of Heroes:** This is a hands-on tutorial provided in the Angular documentation. It's an excellent resource for getting started. 3. **Angular University:** [Angular University](https://angular-university.io/) offers comprehensive courses on Angular. 4. **RxJS:** Learn about reactive programming using RxJS, which is heavily used in Angular. You can find resources on the [official RxJS documentation](https://rxjs.dev/). 5. **Build Real-World Apps:** Build practical applications to solidify your understanding. The more you code, the better you'll become. ### Making a Mark in the Open-Source Front-End Space: 1. **GitHub Contributions:** Contribute to existing open-source projects. This not only helps you learn but also establishes your presence in the community. 2. **Create Your Projects:** Start small with your open-source projects. Share them on GitHub, and seek feedback from the community. 3. **Participate in Hackathons:** Join online hackathons or coding challenges. They're great for learning and networking. 4. **Follow Blogs and Newsletters:** Stay updated with the latest trends and best practices in the front-end world. Subscribe to newsletters like [JavaScript Weekly](https://javascriptweekly.com/) or [React Status](https://react.statuscode.com/). 5. **Join Forums and Communities:** Engage with developers on platforms like [Stack Overflow](https://stackoverflow.com/) or specialized forums for React and Angular. Remember, the key is consistent practice and learning by doing. Good luck on your journey, and feel free to reach out if you have more questions! 🚀
  • Ask HN: What are some unpopular technologies you wish people knew more about?
    56 projects | news.ycombinator.com | 2 Dec 2023
  • MiniRx Signal Store for Angular - API Preview
    4 projects | dev.to | 17 Nov 2023
    Signal Store helps to streamline your usage of RxJS and Signals: e.g. connect and rxEffect understand both Signals and Observables
  • Web scraping LinkedIn jobs using Puppeteer and RxJS
    3 projects | dev.to | 30 Oct 2023
    Web scraping may seem like a simple task, but there are many challenges to overcome. In this blog, we will dive into how to scrape LinkedIn to extract job listings. To do this, we will use Puppeteer and RxJS. The goal is to achieve web scraping in a declarative, modular, and scalable manner.
  • Beyond Angular Signals: Signals & Custom Render Strategies
    4 projects | dev.to | 17 Apr 2023
    ... or we can use RxJS which is still one of the most convenient ways of handling timing-related strategies (and it is already bundled anyway in most apps 😉)
  • How to become a software developer (Seriously)
    2 projects | dev.to | 1 Feb 2023
    ngrx rxjs
  • 5 tips to improve integration with the backend, Angular and Rxjs
    2 projects | dev.to | 29 Jan 2023
    Angular - https://angular.io/ Rxjs - https://rxjs.dev

What are some alternatives?

When comparing Rx.NET and RxJS you can also consider the following projects:

Most.js - Ultra-high performance reactive programming

MobX - Simple, scalable state management.

Bacon - Functional reactive programming library for TypeScript and JavaScript

kefir - A Reactive Programming library for JavaScript

Cycle.js - A functional and reactive JavaScript framework for predictable code

Highland - High-level streams library for Node.js and the browser

fp-ts-rxjs - fp-ts bindings for RxJS

Dynamic Data - Reactive collections based on Rx.Net

redux - Predictable state container for JavaScript apps

Spring Boot - Spring Boot

Svelte - Cybernetically enhanced web apps

ObservableComputations - Cross-platform .NET library for computations whose arguments and results are objects that implement INotifyPropertyChanged and INotifyCollectionChanged (ObservableCollection) interfaces.