Signals (reactivity)
A reactivity model for UI frameworks where values ("signals") automatically track which parts of the interface depend on them, so only exactly what changed is updated. It gives fine-grained reactivity without a virtual DOM. It powers SolidJS, Svelte 5, Angular, Vue, and others.
Mechanic: a signal is a container for a value with a getter and setter. When a computation or a UI part reads a signal, a dependency is automatically registered; when the signal changes, exactly the dependents that actually read it run — nothing else. Difference from a virtual DOM (React-style): there, a change re-renders the component and a diff algorithm finds out what changed. Signals already know precisely what depends on what → they update directly, without diffing, often faster and with less memory work. Concepts: signal (source value), derived/computed (a derived value that auto-updates), effect (runs a side effect when dependencies change). Pioneers: the Knockout/MobX heritage, popularized by SolidJS; now adopted widely (Angular signals, Svelte runes, Vue refs). One of the clearest trends in frontend frameworks in recent years. Related to virtual DOM diffing and hydration.