In this chapter, we're going to cover the following topics:
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-models and components.
The first half of the chapter will cover Angular—a framework coming from Google that provides client-side bindings, and can work with any server-side stack (Rails, Node.js, Django, and so on). It provides data binding+ and organizational facilities. We'll do the following in this chapter:
The second half will cover Meteor—a complete framework and platform that covers both the client and the server side, and also provides data binding and organizational facilities. Meteor is more of a truly different way of building web applications, and we will cover some of the following basics for it:
18.117.77.158