Book Image

Backbone.js Blueprints

By : Andrew Burgess
Book Image

Backbone.js Blueprints

By: Andrew Burgess

Overview of this book

<p>Backbone.js is an open source, JavaScript library that helps you to build sophisticated and structured web apps. It's important to have well-organized frontend code for easy maintenance and extendability. With the Backbone framework, you'll be able to build applications that are a breeze to manage.<br /><br />In this book, you will discover how to build seven complete web applications from scratch. You'll learn how to use all the components of the Backbone framework individually, and how to use them together to create fully featured applications. In addition, you'll also learn how Backbone thinks so you can leverage it to write the most efficient frontend JavaScript code.<br /><br />Through this book, you will learn to write good server-side JavaScript to support your frontend applications. This easy-to-follow guide is packed with projects, code, and solid explanations that will give you the confidence to write your own web applications from scratch.</p>
Table of Contents (14 chapters)
Backbone.js Blueprints
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
Index

Creating profile pages


Now that we have this route available, we can do a lot more. How about a profile page? If you look back at the navigation view again, you'll see that we created a My Profile link, which takes us to /users/1 (or whatever your ID number is). Of course, this means that we can use it for more than just our own profile page. It will work for any user, if we make the code generic enough.

First, we'll need a way to get the user data from the server (remember, this could be a profile for someone other than the logged-in user). We'll use a model for this by using the following code:

var User = Backbone.Model.extend({
  url: function () {
    return '/user-' + this.get('id') + '.json';
  }
});

The URL is different from what we would usually do, but it shows the flexibility of Backbone; we can make the URL look like a path to a JSON file. Of course, this wouldn't be so great if we needed to post to this URL to save a user (especially because a model doesn't usually have an ID until...