Introduction
Within modern web applications, a lot of code is gradually moving from the server to the browser. As a result, new possibilities and challenges are emerging.
One such possibility is instant automated data binding. Client-side code enables us to bind model objects to parts of the web page. This means that changes in the model are automatically and instantly reflected in the view element displaying that model.
Additionally, a challenge in code organization also emerges. JavaScript does not provide adequate module facilities or code organization models that are needed in larger browser applications.
In this chapter, we're going to cover two complete frameworks that attempt to provide solutions to both challenges. These frameworks support a declarative, data-binding approach to writing web applications. At the same time, they provide modularization and organization facilities, allowing us to give a clear structure to our code—to separate it into models, views, controllers, or view...