Reactive Programming as an Evolution of Architectural Trade-offs in Managing Changes
Darya Tsukanova, Andrey ZabrodinThe paper presents a study of the evolution of reactive programming models from the theoretical foundations of functional reactive programming to modern practical implementations in reactive thread libraries and UI frameworks. Purpose: to systematize approaches to dependency management and dissemination of changes in software systems. Methods: comparative analysis of architectural solutions in FRP, reactive flow libraries and UI frameworks. Results: it is shown that reactive models do not eliminate the complexity of managing changes over time, but redistribute it between the developer’s code, execution mechanisms, and development tools. The key differences between the push model based on explicit event propagation and subscription management and the pull model using automatic dependency tracking have been identified. Practical significance: it consists in clarifying the architectural trade-offs of various reactivity models in the development of user interfaces and server-side data processing systems.