Ember.js is an open-source client-side JavaScript web application framework that is based on the model-view-controller (MVC) software architectural design. It permits developers to create scalable single-page applications by incorporating common idioms and best practices into a framework that gives declarative two-way data binding, a rich object model, computed properties, automatically-updating templates powered by Handlebars.js, and a router for managing application state. Routes The router is an important concept of Ember, emphasizing the importance of the URL in managing application state. A route object corresponds to a URL and importantly serializes the application's current state. Routes are defined in the singleton Router object. Models Every route has an associated model, containing the data associated with the present state of the application. While one can use jQuery to load JSON objects from a server and can utilize those objects as models, most applications use a model library such as Ember Data to handle this. Controllers Controllers are utilized to decorate models with display logic. A controller naturally inherits from ObjectController if the template is associated with a single model record and arrayController if the template is associated with a list of records. Templates Templates are written with the Handlebars templating language to explain the user interface. Templates are used to build the application's HTML and embed dynamically-updating expressions. Views Views are utilized to add sophisticated handling of user events, JavaScript animations, custom graphics not made with CSS, or reusable behavior to a template. Components Components are a specialized view for designing custom elements that can be easily reused in templates. The Ember Components execution conforms as closely as possible to the W3C Web Components specification. Ember Data Most Ember.js applications consume Ember Data, a data persistence library that maps client-side models to server-side data, although it is also possible to use Ember.js without Ember Data. By default, Ember Data can load and save records and their relationships without any modification via a RESTful JSON aPI that follows specific conventions, giving many of the facilities of an ORM, but it is also easily modifiable and can work with any server through the use of adapters. Ember Data is presently in beta and its aPI should not be considered stable until version 1.0. Ember Inspector The Ember Inspector is an extension presently available for the Google Chrome and Mozilla Firefox web browsers that claims to make debugging Ember applications easier. Characteristics include the ability to see which templates, controllers and models are currently rendered, see the properties of any Ember object with a UI that computes bindings and computed properties, and use the $E variable to access your application's objects from the console. If Ember Data is consumed, one can also see the records loaded for each model.

Send Message to listing owner