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

Letting users join the fun


Our first serious feature will be allowing users to choose a screen name and join the chat rooms. We'll need a view with a form where a user can submit their name. However, as part of this, we'll need a way to ask the server if this name has been taken yet.

For all this, we go back to the User module, and add a method to the User.CollectionView, using the following code:

addUser: function (name, callback, context) {
  App.Socket.io.emit('join', name, function (joined) {
    if (joined) App.name = name;
    callback.call(context joined);
  });
}

This method takes the name that the user wants to use as well as a callback function. Inside the method, we use another Socket.IO method: emit. This is the flip side of the App.Socket.io.on method we saw earlier in this class's initialize method. The on method listens for events while emit actually makes the occurrence of the event. The emit method takes at least one parameter; the name of the event that we're triggering. We...