to teach every single implementation detail of an Ember application. • Focusing on concepts and not syntax. • Showing an easier and more expressive way of building web applications. 4 Friday, September 28, 12
of SproutCore 2.0 • In the family of MV* style frameworks. • Knockout.js, Angular.js, Backbone.js • Leverages jQuery, Metamorph, Handlebars 6 Friday, September 28, 12
• Rendering data into the DOM • Updating the DOM as it changes • Provide standard application architecture • MVC-based framework • Rich application router / state manager 8 Friday, September 28, 12
• De!nes a series of application states • Generates URLs based on state • Serialization of current state • Allows linking to speci!c application state • URL is deserialized • State chart traversal 22 Friday, September 28, 12
for persisting and loading records • Pluggable adapters • Fixture/REST/IndexedDB • Uses StateManager, integrates with Router • Alpha quality 26 Friday, September 28, 12
are queued, and subsequently coalesced • As run loop !nishes, changes are propagated down to all bindings • Extremely e"cient • Coordinated by the Ember Run Loop 28 Friday, September 28, 12
written in Erlang • UI originally built with jQuery and pjax • Re-architected in Ember.js • Improved performance • Massive reduction in view rendering code • In place updates of content when polling 32 Friday, September 28, 12
• Snapshot, Cluster, Ring, etc. • De!ne actions on the router which will be used for state transitions, or navigation. • De!ne default state for the router. • When entering state, load models and connect the router. 36 Friday, September 28, 12
an outlet • Router will, based on current state • Instantiate (one or more) controller/view pair for that state • Connect that view to the outlet 38 Friday, September 28, 12