Backbone.js Cookbook

Cookbook

Vadim MirgorodAugust 2013

For JavaScript developers the Backbone.js framework is full of potential. This book, with its accessible recipes, allows you to get to grips with building modern frontend web applications, quickly and easily.

$26.99

$44.99

RRP $26.99

RRP $44.99

eBook

Print + eBook

Want this title & more?

$16.99 p/month

Subscribe to PacktLib

Enjoy full and instant access to over 2000 books and videos – you’ll find everything you need to stay ahead of the curve and make sure you can always get the job done.

Book Details

ISBN 139781782162728

Paperback282 pages

About This Book

Easy-to-follow recipes to build dynamic web applications

Learn how to integrate with various frontend and mobile frameworks

Synchronize data with a RESTful backend and HTML5 local storage

Learn how to optimize and test Backbone applications

Who This Book Is For

This book is great for JavaScript developers who want to learn how to build advanced frontend applications with the Backbone.js framework. This book can be used in educational institutions to teach students how to build frontend applications in an MVC manner.

It's assumed that you have some experience in jQuery, and are familiar with HTML.

Table of Contents

Chapter 1: Understanding Backbone

Introduction

Designing an application with the MVC pattern

Defining business logic with models and collections

Modeling an application's behavior with views and a router

Creating an application structure from scratch

Writing your first Backbone application

Implementing URL routing in your application

Extending an application with plugins

Contributing to the Backbone project

Chapter 2: Models

Introduction

Creating a model

Operating with model attributes

Operating with the model identifier

Validating model attributes

Overriding getters and setters

Creating undo points to store/restore a model's state

Implementing workflow for a model

Using advanced validation in a model

Validating an HTML form

Working with nested attributes in a model

Implementing a one-to-one relationship

Chapter 3: Collections

Introduction

Creating a collection of models

Getting a model from a collection by its index

Getting a model from a collection by its ID

Adding a model to a collection

Removing a model from a collection

Working with a collection as a stack or as a queue

Sorting a collection

Filtering models in a collection

Iterating through a collection

Chaining a collection

Running No SQL queries on a collection

Storing models of various types in the same collection

Implementing a one-to-many relationship

Chapter 4: Views

Introduction

Rendering a view

Dealing with a view element using jQuery

Rendering a model in a view

Rendering a collection in a view

Splitting a view into subviews

Handling Document Object Model (DOM) events in a view

Switching views using Backbone.Router

Chapter 5: Events and Bindings

Introduction

Managing events in Backbone.js

Handling events of Backbone objects

Binding a model to a view

Binding a collection to a view

Bidirectional binding with Backbone.stickit

Binding a model and a collection to a select list

Handling keyboard shortcuts in a view

Handling router events

Chapter 6: Templates and UX sugar

Introduction

Using templates in a view

Implementing a template loader

Using Mustache templates

Defining a form

Adding validation to a form

Handling form events

Customizing a form with the Bootstrap framework

Assembling layouts with LayoutManager

Building a semantic and an easily styleable data grid

How it works...

Drawing on the HTML5 canvas

Chapter 7: REST and Storage

Introduction

Architecting the REST API for the backend

Prototyping a RESTful backend with MongoLab

Synchronizing models and collections with a RESTful service

Building a RESTful frontend with Backbone

Using the polling technique to fetch data

Working with local storage

Chapter 8: Special Techniques

Introduction

Using mixins with Backbone objects

Creating a Backbone.js extension with Grunt

Writing tests for a Backbone extension with QUnit

Mocking up a RESTful service with jQuery Mockjax in asynchronous tests

Developing a mobile application with jQuery Mobile

Building an iOS/Android app with PhoneGap

Organizing a project structure with Require.js

Ensuring compatibility with search engines

Avoiding memory leaks in a Backbone application

What You Will Learn

Architecting and building dynamic web applications in an MVC style

Modeling business logic with Backbone models and collections

Rendering data with Backbone views

Routing URLs within your application

Communicating with a RESTful service

Using HTML5 local storage to store models and collections

Optimizing and testing Backbone applications

Writing your own Backbone extensions

Ensuring compatibility with search engines

Creating mobile apps with jQueryMobile and PhoneGap

In Detail

There is no doubt that the superior rendering power of HTML5, thin-to-thick client transition and REST style communication created a new era in web development, replacing the outdated approach based on browser plugin technologies. Backbone.js allows developers to write lightweight, modular, and scalable JavaScript applications.

Backbone.js Cookbook contains a series of recipes that provide practical, step-by-step solutions to the problems that may occur during frontend application development using an MVC pattern. You will learn how to build Backbone applications utilizing the power of popular Backbone extensions and integrating your app with different third party libraries. You will also learn how to fulfill the requirements of the most challenging tasks.

The first chapter of the book introduces you to the MVC paradigm and teaches you how to architect rich Internet applications operating with basic concepts of Backbone.js. During the reading of this book you will learn how to solve challenging problems leveraging Backbone objects such as models, collections, views, routers, and so on.

You learn how to use forms, layouts, templating engines, and other Backbone extensions, which will help you to complete specific features of your application. You will understand how to bind a model to a DOM element. You will see how perfectly Backbone.js integrates with third party libraries and frameworks such as jQuery, Zepto, Underscore.js, Require.js, Mustache.js, Twitter Bootstrap, jQueryMobile, PhoneGap and many others. This book will guide you in how to optimize and test your applications, create your own Backbone extensions, and share them with the open source community.

With the help of Backbone.js Cookbook, you will learn everything you need to know to create outstanding rich Internet applications using the JavaScript programming language.

Authors

Vadim Mirgorod

Vadim Mirgorod is a professional web developer and an open source expert, who is passionate about technologies and innovations. He provides the code for the content management system Drupal and maintains several Backbone.js plugins. He is an active community member, who organized IT events in his city and spoke at the international conferences in Chicago, Munich, and Portland. His recent session at DrupalCon Portland was about Backbone.js.

Alerts & Offers

Series & Level

We understand your time is important. Uniquely amongst the major publishers, we seek to develop and publish the broadest range of learning and information products on each technology. Every Packt product delivers a specific learning pathway, broadly defined by the Series type. This structured approach enables you to select the pathway which best suits your knowledge level, learning style and task objectives.

Learning

As a new user, these step-by-step tutorial guides will give you all the practical skills necessary to become competent and efficient.

Beginner's Guide

Friendly, informal tutorials that provide a practical introduction using examples, activities, and challenges.

Essentials

Fast paced, concentrated introductions showing the quickest way to put the tool to work in the real world.

Cookbook

A collection of practical self-contained recipes that all users of the technology will find useful for building more powerful and reliable systems.

Blueprints

Guides you through the most common types of project you'll encounter, giving you end-to-end guidance on how to build your specific solution quickly and reliably.

Mastering

Take your skills to the next level with advanced tutorials that will give you confidence to master the tool's most powerful features.

Starting

Accessible to readers adopting the topic, these titles get you into the tool or technology so that you can become an effective user.

Progressing

Building on core skills you already have, these titles share solutions and expertise so you become a highly productive power user.