Reactive programming
Super Charging Fine-Grained Reactive Performance & Hands-on Introduction to Fine-Grained Reactivity are great reads.
Love Solid's reactivity model. Voby & Signia interesting too.
Rust Signals library is interesting.
Notes
- Event streams (like plain observables) emits values. Signals (and behavior subjects) have values. Queues (channels and some buffered and published observables) hold/store values. For example seminal paper on functional reactive programming defines two primitives- event streams and behaviors. They have different laws and this different capabilities. Queues are even more powerful but provide less guarantees.
- Signals are not just about 'optimizing performance'. They do for ordinary data what React only does for DOM trees: provide a composable, consistent, managed way to derive it from your root application state, and to respond to changes over time.
Links
- Introduction to Reactive Programming you've been missing
- What is Reactive Programming? (2010)
- The essence and origins of FRP - Keynote talk for LambdaJam 2015.
- xstream - Extremely intuitive, small, and fast functional reactive stream library for JavaScript.
- CONNECTIVE - Agent-based reactive programming library for typescript.
- RxViz - Animated playground for Rx Observables. (Code)
- Explaining Streams to Rich Harris (2019)
- Towards a unified theory of reactive UI (2019) (HN)
- Streams for reactive programming (2020)
- David Khourshid — The visual future of reactive applications with statecharts (2020)
- RxFeedback - Universal system operator and architecture for RxSwift.
- reactive.how - Learn RxJS operators and Reactive Programming principles. (Code)
- Kairo.js - Refined reactive programming pattern for web applications, the framework over frameworks.
- A Hands-on Introduction to Fine-Grained Reactivity (2021)
- FRP Guides - Tutorials, guidelines, examples, patterns and half-baked ideas on functional reactive programming (FRP).
- ShapeRankai - Targeted at data analytics, machine learning and reactive programming. Purely functional and statically typed. (Talk)
- Main aspects of reactivity (2021)
- cellx - Ultra-fast implementation of reactivity for JS.
- Разбираемся в сортах реактивности (Tweet)
- Reactive - Super simple, yet powerful and performant library for State Management / Reactive Programming.
- General Theory of Reactivity
- Scramjet - Simple reactive stream programming framework in TypeScript.
- Hands-on Introduction to Fine-Grained Reactivity (2021)
- Awesome Observables
- Building a Reactive Library from Scratch (2021)
- LiteObservable - Cold Observables for JS in a lightweight fashion.
- observable - Tiny observable implementation.
- reactive-box - Minimalistic, fast, and highly efficient reactivity.
- Flimsy - Single-file <1kb min+gzip simplified implementation of the reactive core of Solid, optimized for clean code.
- S.js - Simple, Clean, Fast Reactive Programming in JavaScript. (Tweet)
- Kefir - Reactive Programming library for JavaScript.
- ArrowJS - Reactivity without the framework. (Tweet) (Docs)
- Spred - Simple and fast JavaScript reactive programming library.
- Super Charging Fine-Grained Reactive Performance (2022)
- Reactively - Library for fine grained reactive programming.
- Reactivity & Rendering (2022)
- Learning Leptos: Build a fine-grained reactive system in 100 lines of code (2022)
- Reactor.js - Simple reactive programming without a framework.
- sprae - DOM hydration with reactive attributes.
- The Future of Fine-Grained Reactivity w/ Milo (2023)
- Cont-Signal - Continuations based Signals JS framework.
- Проектируем идеальную систему реактивности
- JS Reactivity Benchmark
- Why are people SO obsessed with useSignal()? (2023)
- Signals For Solid, Qwik And React (2023)
- Signia - Reactive signals that scale, by tldraw.
- This Week in J̶a̶v̶a̶S̶c̶r̶i̶p̶t̶ Signals (2023)
- Managing State with Signals (2023) (HN)
- VanJS - Smallest reactive JS UI framework. (HN)