Discover Reactive JavaScript Signal Libraries
Summary of my bookmarked Github repositories from Jul 13th, 2023
Github repositories
- xania/state
The GitHub repository at https://github.com/xania/view has been updated to include @xania/state as the official state library for @xania/view. @xania/state is a blazingly fast JavaScript library for managing reactive state. It provides fine-grained state management, allowing for isolated state objects and synchronization with parent states. The library is compatible with RxJS and offers features like prop, map, and bind for creating derived states. Additionally, it handles external state mutations and ensures proper order of updates, even in complex scenarios like the diamond problem.
- Riim/cellx
This website provides information about cellx, an ultra-fast implementation of reactivity for JavaScript. It offers features such as getting rid of unnecessary event handler calls and optimizing complex dependency networks, resulting in efficient calculation speeds. The website includes a benchmark comparison with other libraries, demonstrating the superior performance of cellx. It also provides usage examples with different scenarios and options, including ES.Next and React integration. Additionally, it lists references and resources for further exploration of reactive programming and related concepts.
- adamhaile/S
S.js is a small reactive programming library that aims to simplify and optimize reactive programming. It provides data signals and computations as the building blocks of reactive apps. Data signals are containers for changing data, while computations are kept up-to-date based on the changes in data signals. S.js offers automatic updates, a clear timeline for app progression, batched updates, and automatic disposal of computations. It allows for the creation of reactive web applications that can detect and respond to changes efficiently.
- modderme123/reactively
Reactively is a lightweight library for fine-grained reactive programming in JavaScript. It enables smart recalculation and caching of values, optimizing performance by rerunning code only when necessary. With Reactively, you can declare reactive variables and define reactive expressions that automatically update based on their dependencies. The library offers automatic caching and dependency tracking, eliminating the need for manual implementation. Reactively is useful for avoiding repetitive and expensive operations, making code more maintainable. It also provides related packages like @reactively/decorate and @reactively/lit for additional functionalities and integration with TypeScript and lit.dev.
- WebReflection/usignal
µsignal is a lightweight library that combines the reactivity API of @preact/signals-core with the extra features inspired by solid-js. With a minified size of only 803 bytes (with brotli compression), µsignal provides a familiar API and developer experience similar to @preact/signals-core. It offers features like signals, computed values, effects, and batch operations. The library supports both CommonJS and ECMAScript module systems, making it versatile for different environments. Additionally, it provides various exports and variants, allowing developers to explore different patterns and compare them with other libraries like solid-js. µsignal also includes lazy, non-side-effecting computed values and custom equality comparison for NaN cases. It is thoroughly tested and offers benchmark comparisons with other libraries like S, solid, preact/signals, and cellx. Integration with Lit is possible through a mixin function provided by the library.
- luwes/sinuous
Sinuous is a small, fast, and truly reactive UI library with a size of approximately 1.4kB (gzip). It offers a seamless development experience without the need for a compile step, and you can choose your preferred view syntax. Sinuous provides various add-ons such as observable, map, hydrate, and template. It has an active community contributing additional libraries and utilities. The website offers examples like a counter, analog SVG clock, and TodoMVC, along with documentation and information on interoperability, reactivity, and hydration. Sinuous also exposes an internal API for customization and integration with other reactive libraries.
- vobyjs/oby
Oby is a rich Observable/Signal implementation that allows you to build powerful reactive systems. It provides functions like $(), $.batch, $.cleanup, $.context, $.effect, $.memo, $.observable, and more. The library enables you to create Observables, batch updates, register cleanup functions, handle dependency injection, create effects and memos, and work with reactive objects. Oby simplifies the process of managing reactivity and provides convenient performance guarantees for efficient updates.