Verstak - Front-End Library
npm install verstak



Verstak is a experimental library for rapid development of user
interfaces. It provides automatic refresh of visual elements
upon change of underlying data in a program.
Refresh on the screen is fine-grained, meaning that only
those visual elements are refreshed, which really depend on
actual data changed. It is achieved by automatic tracking of
all dependencies between visual elements and data they use
during run time. Such an approach is usually called reactive
programming. It frees a programmer from writing boilerplate
code for "pushing" changed data to visual elements.
Changing of compound data and refreshing of visual elements
on the screen is performed consistently, in other words in
"all-or-nothing" way. It means that in case of changing
multiple variables in a program actual visual refresh
happens only in case of successful change of all the variables.
Partial changes are "not visible" to visual elements even
in case of exception or cancellation of changes. Such a
change of compound data in "all-or-nothing" way is called
a transaction.
Verstak supports asynchronous programming out of the box
at all the layers, including transactions and visual elements
rendering.
Altogether it is called reactive transactional programming.
Transactional reactivity means that state changes are being
made in an isolated data snapshot and then, once atomically
applied, are consistently propagated to corresponding
visual components for (re)rendering. All that is done in
automatic, seamless, and fine-grained way, because Verstak
takes full care of tracking dependencies between visual
components (reactive functions) and application state
(observable objects).
Example application: https://nevod.io (source code).
Verstak is based on Reactronic.
By contributing, you agree that your contributions will be
automatically licensed under the Apache 2.0 license (see LICENSE file).