lit VS RxJS

Compare lit vs RxJS and see what are their differences.

lit

Lit is a simple library for building fast, lightweight web components. (by lit)

RxJS

A reactive programming library for JavaScript (by ReactiveX)
Our great sponsors
  • SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
lit RxJS
141 98
17,535 30,191
2.1% 0.7%
9.4 8.8
6 days ago 8 days ago
TypeScript TypeScript
BSD 3-clause "New" or "Revised" 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.

lit

Posts with mentions or reviews of lit. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-04-13.
  • I've created yet another JavaScript framework
    4 projects | dev.to | 13 Apr 2024
    That is the reason why I experiment with the TiniJS framework for a while. It is a collection of tools for developing web/desktop/mobile apps using the native Web Component technology, based on the Lit library. Thank you the Lit team for creating a great tool assists us working with standard Web Component easier.
  • Web Components e a minha opinião sobre o futuro das libs front-end
    4 projects | dev.to | 4 Apr 2024
  • Show HN: I made a Pinterest clone using SigLIP image embeddings
    2 projects | news.ycombinator.com | 16 Feb 2024
    https://github.com/lit/lit/tree/main/packages/labs/virtualiz...
  • What We Need Instead of "Web Components"
    8 projects | news.ycombinator.com | 22 Dec 2023
    actually, looking at it (https://lit.dev/), i do exactly that.

    I also define a `render()` and extend my own parent, which does a `replaceChildren()` with the render. And, strangely, I also call the processor `html`

    I'll still stick with mine however, my 'framework' is half-page of code. I dislike dependencies greatly. I'd need to be saving thousand+ lines at least.

    Here, I don't want a build system to make a website; that's mad. So I don't want lit. I want the 5 lines it takes to invoke a dom parser, and the 5 lines it takes do define a webcomp parent.

  • Web Components Aren't Framework Components
    2 projects | news.ycombinator.com | 11 Dec 2023
    I rather like https://lit.dev/ for web components so far.

    For the reactivity stuff, you might want to read https://frontendmasters.com/blog/vanilla-javascript-reactivi... - it shows a bunch of no-library-required patterns that, while in a number of cases I'd much rather use a library myself, all seems at least -basically- reasonable to me and will probably be far more comprehensible to you than whatever I'd reach for, and frameworks are always much more pleasant to approach after you've already done a bunch of stuff by banging rocks together first.

  • Reddit just completed their migration out of React
    2 projects | /r/reactjs | 8 Dec 2023
  • Web Components Eliminate JavaScript Framework Lock-In
    10 projects | news.ycombinator.com | 27 Nov 2023
    I work on Lit, which I would hesitate to call a framework, but gives a framework-like DX for building web components, while trying to keep opinions to a minimum and lock-in as low as possible.

    It's got reactivity, declarative templates, great performance, SSR, TypeScript support, native CSS encapsulation, context, tasks, and more.

    It's used to build Material Design, settings and devtools UIs for Chrome, some UI for Firefox, Reddit, Photoshop Web...

    https://lit.dev if you're interested.

  • HTML Web Components
    14 projects | news.ycombinator.com | 13 Nov 2023
    I am more a fan of the augmented style because it doesn't entrap you in dev lock-in to platforms.

    The problem with frameworks, especially web frameworks, is they reimplement many items that are standard now (shadowdom, components, storage, templating, base libraries, class/async, network/realtime etc).

    If you like the component style of other frameworks but want to use Web Components, Google Lit is quite nice.

    Google Lit is like a combination of HTML Web Components and React/Vue style components. The great part is it is build on Web Components underneath.

    [1] https://lit.dev/

  • Web Components Will Outlive Your JavaScript Framework
    16 projects | news.ycombinator.com | 25 Oct 2023
    From the comments I see here, it seems like people expect the Webcomponents API to be a complete replacement for a JS framework. The thing is, our frameworks should start making use of modern web APIs, so the frameworks will have to do less themselves, so can be smaller. Lit [0] for example is doing this. Using Lit is very similar to using React. Some things work different, and you have to get used to some web component specific things, but once you get it, I think it's way more pleasant to work with than React. It feels more natural, native, less framework-specific.

    For state management, I created LitState [1], a tiny library (really only 258 lines), which integrates nicely with Lit, and which makes state management between multiple components very easy. It's much easier than the Redux/flux workflows found in React.

    So my experience with this is that it's much nicer to work with, and that the libraries are way smaller.

    [0] https://lit.dev/

  • Lit – a small responsive CSS framework
    1 project | news.ycombinator.com | 10 Oct 2023

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-04-05.
  • Episode 24/13: Native Signals, Details on Angular/Wiz, Alan Agius on the Angular CLI
    11 projects | dev.to | 5 Apr 2024
    Similarly to Promises/A+, this effort focuses on aligning the JavaScript ecosystem. If this alignment is successful, then a standard could emerge, based on that experience. Several framework authors are collaborating here on a common model which could back their reactivity core. The current draft is based on design input from the authors/maintainers of Angular, Bubble, Ember, FAST, MobX, Preact, Qwik, RxJS, Solid, Starbeam, Svelte, Vue, Wiz, and more…
  • 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
  • Top 10 Things to Add to Your Angular App Coding: A Recipe for Programmer Success
    1 project | dev.to | 27 Dec 2023
    Data flowing like a melody? Master RxJS, the reactive JavaScript library, to handle asynchronous data flows with grace and ease. Streamlined data, happy code.
  • 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
  • Implement a simple bus event in Angular
    1 project | dev.to | 13 Nov 2023
    Our bus event is really simple in fact. We have declared into the core module (provided in all the application) an rxjs Subject.
  • 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.

What are some alternatives?

When comparing lit and RxJS you can also consider the following projects:

Svelte - Cybernetically enhanced web apps

Most.js - Ultra-high performance reactive programming

stencil - A toolchain for building scalable, enterprise-ready component systems on top of TypeScript and Web Component standards. Stencil components can be distributed natively to React, Angular, Vue, and traditional web developers from a single, framework-agnostic codebase.

MobX - Simple, scalable state management.

Vue.js - This is the repo for Vue 2. For Vue 3, go to https://github.com/vuejs/core

Bacon - Functional reactive programming library for TypeScript and JavaScript

Angular - Deliver web apps with confidence 🚀

kefir - A Reactive Programming library for JavaScript

htmx - </> htmx - high power tools for HTML

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

Preact - ⚛️ Fast 3kB React alternative with the same modern API. Components & Virtual DOM.

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