From Helpful
Jump to navigation Jump to search

Reactive websites (layouting)

Reactive websites, responsive design, adaptive websites, and mobile friendly websites, are all different takes on very similar themes -- largely (but not only) being about layouting for different shapes and sizes of screen, and dealing with different kinds of input (e.g. mouse versus touch).

In webby context,

'responsive' often means that the same thing will naturally layout in a different sensible way on a different-shaped or different-sized screen (and you'll get people resizing the browser and saying "see?")
'reactive' (and 'adaptive') often means you get sent a somewhat different site between desktop and mobile.

...yet there are no hard boundaries here

Reactive programming (state management)

Reactive programming is programming style where state changes are automatically propagated to where they need to go.

This tends to mean

  • a relatively declarative style.
  • thinking in terms of
    • events (rather than things as ordered by code)
    • sources of those events (e.g. interactable items)
    • things that process those events

...and possibly...

  • a fairly asynchronous system of execution (in terms of event ordering)
  • grouping those events in event streams

(It's also a lot closer to functional programming than people seem to realize.)

This concept is used anywhere from

the model model that makesof GUI updates go, particularly on the web (where we may want things to be more redefinable than MVC easily gives us)
see also e.g. Vue, Svelte, where what looks like regular JS
program language design
e.g. languages that add features like coroutines
a fully reactive languages have proven to be useful for specific purposes but not as a generic language

Reactive JS frameworks

Reactive provisioning