# Reactive user interface

> Mediated Wiki article. Canonical URL: https://mediated.wiki/source/Reactive_user_interface
> Markdown URL: https://mediated.wiki/source/Reactive_user_interface.md
> Source: https://en.wikipedia.org/wiki/Reactive_user_interface
> Source revision: 1329673185
> License: Creative Commons Attribution-ShareAlike 4.0 International (https://creativecommons.org/licenses/by-sa/4.0/)

{{short description |Category of user interface}}
{{Use American English |date=February 2024}}
{{Use mdy dates |date=February 2024}}
{{More citations needed |date=February 2024}}
{{About|user interfaces in general|UI libraries implementing Reactive programming principles|React (JavaScript library)|and|React Native}}

A human-to-computer [user interface](/source/user_interface) is said to be '''"reactive"''' if it has the following characteristics:

#The user is immediately aware of the effect of each "gesture".  Gestures can be [keystroke](/source/Typing)s, [mouse clicks](/source/Mouse_(computing)), [menu](/source/Menu_(computing)) selections, or more esoteric inputs.
#The user is always aware of the state of their data.<ref name="cd23" />  Did I just save those changes?  Did I just overwrite my [backup](/source/backup) by mistake?  No data is hidden.  In a figure-drawing [program](/source/Computer_program), the user can tell whether a line segment is composed of smaller segments.
#The user always knows how to get help.  Help may be context-sensitive or modal, but it is substantial.  A program with a built-in ''help browser'' is not reactive if its content is just a collection of [screen shots](/source/Screenshot) or menu item labels with no real explanation of what they do.

Reactivity was a major goal in the early user interface research at [MIT](/source/Massachusetts_Institute_of_Technology) and [Xerox PARC](/source/Xerox_PARC).
A computer program which was not reactive would not be considered ''user friendly'' no matter how elaborate its presentation.{{Citation needed|date=October 2022}}

Early [word-processing](/source/word-processing) programs whose on-screen representations look nothing like their printer output could be reactive.  The common example was [WordStar](/source/WordStar) on [CP/M](/source/CP%2FM).  On-screen, it looked like a [markup language](/source/markup_language) in a character cell display, but it had deep built-in help which was always available from an on-screen menu bar, and the effect of each keystroke was obvious.

==References==
<references>

<ref name="cd23">{{cite web |title=Reactive UI with Dart and Flutter: Building Dynamic User Interfaces |website=Cloud Devs |year=2023 |url=https://clouddevs.com/dart/reactive-ui/ |access-date=2024-02-15 }}</ref>

</references>

{{DEFAULTSORT:Reactive User Interface}}
Category:User interfaces

{{Soft-eng-stub}}

---
Adapted from the Wikipedia article [Reactive user interface](https://en.wikipedia.org/wiki/Reactive_user_interface) by Wikipedia contributors ([contributor history](https://en.wikipedia.org/wiki/Reactive_user_interface?action=history)). Available under [Creative Commons Attribution-ShareAlike 4.0 International](https://creativecommons.org/licenses/by-sa/4.0/). Changes may have been made.
