Single Page Application Client Architecture with JavaScript and Backbone.js
DATE : 9 APRIL
Experience with MV* frameworks like Backbone.js is a highly sought skill in today’s job market. This one-day intermediate/advanced workshop introduces the Backbone.js framework and best practices.
This workshop begins with Object-Oriented JavaScript and ends with Architectural Design Patterns, giving students a subsantial overview of an effective MV* client-side tech stack.
This hands-on course will be taught using Jasmine unit testing. Students will complete exercises to pass Jasmine tests and solidify their understanding of Backbone concepts.
LANGUAGE
English
DURATION
The workshop is full-day (8 hours) from 9:00 to 18:00, with one hour lunch break
LOCATION
Via Capitan Bavastro 116 , Roma
CHECK IN: 8:30 – 9:00
PRICES:
Early Bird: € 95 by Wednesday, 2 April 23:30 CET
Regular ticket: € 135
Brenda Jin
Brenda Jin is a developer specializing in Tablet Prototyping at Macys.com. She is the lead technologist on a pilot agile team whose goal is to discover best practices and ecommerce opportunities on Tablets. Brenda gives talk on human-computer interaction and modern web technologies in San Francisco and abroad. Her projects range from Internet of Things to native mobile applications.
Follow Brenda on Twitter @cyberneticlove or on Github @brendajin.
Agenda:
Introduction
- What does MV* mean?
- Why Backbone.js?
- Use Cases and Advantages
- Review of Object Oriented JavaScript
Object literals
- Functions are Objects
- Scope and “this”
- Prototypal Inheritance
- Backbone.js Dependencies
jQuery
- Underscore
- Models
What is a Model?
- Extending the Backbone Model
- Setting defaults
- Initialization
- Custom methods
- Insantiating new Models
- Collections
What is a Collection?
- Extending the Backbone Collection
- Instantiating new Collections with Models
- Sorting with comparator
- Events
- Views
What is a View?
- Extending the Backbone View
- Identifyng or creating a DOM element for the View
- Event binding and callbacks
- Custom methods
- Templating
What is a Template?
- Handlebars syntax overview
- Handlebars pre-compilation with Grunt
- Using JSON to render a template
- Advanced Templating
Partials
- Custom Block Helpers
- Communicating with the Server
.fetch()
.save()
Architectural Best Practices
Pub/Sub Design Patterns
Modules, Façade, Mediator Pattern
How to instantiate
Preventing memory leaks
Require.js (AMD)
Before the Class
Make sure you have the required installations
Brush up on the Prerequisites if necessary
Set up a Github account
Educational Objectives:
Students will leave with the foundational skills to build rich interactive web applications using Backbone.js, as well as a small but expandable web application incorporating these techniques.
About Backbone.js:
Backbone.js is a flexible MV* Model View [Controller] framework that encourages re-usable JavaScript while enabling the separation of data (models) from presentation (views). Furthermore, a framekwork like Backbone.js helps developers organize their code better, making it more readable and maintanable in the future.
Prerequisites:
Experience with Object Oriented JS or having completed Codeacademy’s JavaScript lessons Objects I and Objects II
Experience passing Objects to functions as arguments for an API, library, or framework Experience with DOM traversal and manipulation with jQuery AJAX or client-side API experience
Basic debugging with JavaScript console
Command line: cd mkdir touch and basic git commands like clone
Required Software:
git
Node.js
Grunt CLI
Python 2.7+
Google Chrome, Safari, or Firefox browser
Required Hardware:
Your own computer
A 40% discount of regular tickets price is offered to students. For any information please contact us at info@codemotion.it attaching document that certifies your student status.
The workshop will be held only if the minimun number of attendees is reached
For further information about this workshop email us at workshop@codemotion.it