reload your page markup on every request • Perceived UI performance improvement for endusers • Maintain a single REST API for multiple clients(web/mobile/etc) • Allows continuous media streams between page reloads • Ideal solution for audio content Monday, January 14, 13
will be accessible only using oauth2 authentication getName() returns null to make the REST PUT format of backbone.js compatible when binding the form. Monday, January 14, 13
your chaplin.js application into javascript • Compiles Stylus/Sass/Less/YouNameIt into CSS • tons of other useful features github.com/brunch/brunch Monday, January 14, 13
rendering the application layout. Use the expose option to make the chaplin router aware of the Symfony routes. All routes use the same controller action. Monday, January 14, 13
URLs in the correct app environment (app_dev.php/books for example) (see client/app/symfony_router.coffee for the SymfonyRouter coffeescript implementation in the github demo app) Monday, January 14, 13
the data when a book_list route matches The Books collection retrieves it’s backend URL from the SymfonyRouter Model and Controller app/controllers/book.coffee app/models/books.coffee Monday, January 14, 13
app/views/templates/book/list_item.hbs The collection view will pass the book model for each collection item to the corresponding ItemView Monday, January 14, 13
browser to render your page for crawlers [2] • Pre-render <head> tags to make facebook et al. happy STRATEGIES [1] developers.google.com/webmasters/ajax-crawling/docs/specification [2] github.com/apiengine/seoserver Monday, January 14, 13