In December 2011 frame web apps, SproutCore 2.0 was renamed to Ember.js in order not to be confused with version 1.0. The authors of the project are Tom Dale and Yehuda Katz, Ember and only a Core Team of over 10 developers.
The basic principles
- Routes are one of the fundamental principles Ember.js and underline the importance of the URL in managing application state. The route object matches the URL that defines the current state of the application. Routes are defined in a single object router.
- Models, each route corresponds to a model that contains data corresponding to a current state of the application. And despite the fact that it is possible to use jQuery to retrieve JSON objects, most applications still uses the library with the data model, for example, Ember Data.
- Controllers used to add models some rendering logic. Previously standard practice was to inherit the controller from ObjectController if the model was a single object from the ArrayController - if the model was an array of records. Now these base classes are deprecated and the normal practice is to access a model property from Ember.Controller.
- Templates written in the language of HTMLBars (HTML handlebars = HTMLbars) and describe the user interface. Templates used to build HTML code of the app and allow you to embed a dynamically updated expression.
Links to materials for the study
- Official documentation Ember.js
- Official documentation on Ember-CLI
- Ember.js — the ideal framework for web prilojenii
- Basic structure
- Makeup application
- Acceptance tests
- Basics of unit testing
- Testing controllers
- Testing routes
- Testing models
- Application dependencies
- Install ember-addon-s
- Install npm packages
- Installing bower packages
- Catalog assets
- Configuring Ember.js
- Basic structure of configuration file
- Settings depending on the environment
- How to import it to your classes and to read out settings
- Ember.getOwner and properties of the instance of application
- Development Ember components
- Ember development services
- Ember Data
- Profiling Ember.js Apps