Single Page Application (SPA) Technology
Single Page Applications (SPA) frameworks provide a variety of features such as easier interaction with the web browser’s DOM, a component model, and the implementation of patterns such as MVC, MVVC and so on.
Angular: Angular is Google’s end-to-end framework for building rich, interactive web and mobile applications front ends. Although it was initially conceived as a library to build single page applications. Today, it encompasses a wide ecosystem including templating, widgets and controls, build-phase tooling such as debuggers, minifiers and so on.
React: React is Facebook’s library for building interactive web and mobile applications. It focuses on the problem of synchronising model changes with the views, encapsulating views as reusable components, and performing efficient rendering (using a virtual DOM). It is not directly comparable to Angular since it does not aim to be a comprehensive, multiple-use case framework.
Vue: Vue is an actively developed competitor to Angular and React that focuses on simplicity. It follows a mix and match progressive approach that allows developers to use only selected parts of the framework as required as opposed to forcing them to buy into a radically different paradigm for all aspects of an application. It also implements a Virtual DOM approach.
Backbone: Backbone was one of the first frameworks to focus on implementing a separation of concerns approach between Models and Views. It is less radical than Angular and React in the sense that it does not introduce new syntax.
Redux: Redux is a library that manages a web application’s state using CQRS and Event Sourcing (ES) concepts. Whereas frameworks like Angular and React solve the problem of synchronising models with views; they don’t address the problem of state mutation itself which is what Redux focuses on.
Ernesto Garbarino