Book Image

Backbone.js Cookbook

By : Vadim Mirgorod
Book Image

Backbone.js Cookbook

By: Vadim Mirgorod

Overview of this book

<p>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.<br /><br />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.<br /><br />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.</p> <p><br />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.</p> <p><br />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.</p>
Table of Contents (16 chapters)
Backbone.js Cookbook
Credits
About the Author
Acknowledgement
About the Reviewers
www.PacktPub.com
Preface
Index

Synchronizing models and collections with a RESTful service


In this recipe, we are going to learn how to synchronize models and collections with a RESTful service. Just as we did in all other recipes, we will use MongoLab for a RESTful service.

How to do it...

Follow these steps to get familiar with REST in Backbone.js:

  1. Create a configuration object that stores a server URL and an authentication key for MongoLab.

    var appConfig = {
      baseURL: 'https://api.mongolab.com/api/1/databases/billing-app/collections/',
    
      addURL: '?apiKey=kNCrqJUqB4n1S_qW7wnXH43NH9XKjdIL'
    }
  2. Define a url() method that returns a resource URL to perform a REST request. Such URLs should contain a model ID, if a model is already synchronized with a RESTful service. Also, such URLs should contain a MongoLab's authentication key.

      var InvoiceModel = Backbone.Model.extend({
        url: function() {
          if (_.isUndefined(this.id)) {
            return appConfig.baseURL +
              'invoices' + appConfig.addURL;
          }
          else {...