• List Price: CDN$ 49.92
  • You Save: CDN$ 11.39 (23%)
Only 1 left in stock (more on the way).
Ships from and sold by Amazon.ca. Gift-wrap available.
JavaScript Web Applicatio... has been added to your Cart
+ CDN$ 6.49 shipping
Used: Good | Details
Sold by Store a Lot
Condition: Used: Good
Comment: Good! Prompt shipping from UK.
Have one to sell?
Flip to back Flip to front
Listen Playing... Paused   You're listening to a sample of the Audible audio edition.
Learn more
See all 2 images

JavaScript Web Applications Paperback – Sep 2 2011

See all 4 formats and editions Hide other formats and editions
Amazon Price
New from Used from
Kindle Edition
"Please retry"
"Please retry"
CDN$ 38.53
CDN$ 30.23 CDN$ 22.54

Save an Additional 10% on Textbooks When you Join Amazon Student

Special Offers and Product Promotions

  • Amazon Student members save an additional 10% on Textbooks with promo code TEXTBOOK10. Enter code TEXTBOOK10 at checkout. Here's how (restrictions apply)

No Kindle device required. Download one of the Free Kindle apps to start reading Kindle books on your smartphone, tablet, and computer.

  • Apple
  • Android
  • Windows Phone
  • Android

To get the free app, enter your e-mail address or mobile phone number.

Product Details

  • Paperback: 276 pages
  • Publisher: O'Reilly Media; 1 edition (Sept. 2 2011)
  • Language: English
  • ISBN-10: 144930351X
  • ISBN-13: 978-1449303518
  • Product Dimensions: 17.8 x 1.5 x 23.3 cm
  • Shipping Weight: 454 g
  • Average Customer Review: Be the first to review this item
  • Amazon Bestsellers Rank: #361,040 in Books (See Top 100 in Books)
  •  Would you like to update product info, give feedback on images, or tell us about a lower price?

  • See Complete Table of Contents

Product Description

Book Description

jQuery Developers' Guide to Moving State to the Client

About the Author

Alex MacCaw is a Ruby/JavaScript developer & entrepreneur. He has written a JavaScript framework, Spine and developed major applications including Taskforce and Socialmod, as well as a host of open source work. He speaks at Ruby/Rails conferences in NYC, SF and Berlin. In addition to programming he is currently traveling round the world with a Nikon D90 and surfboard.

Customer Reviews

There are no customer reviews yet on Amazon.ca
5 star
4 star
3 star
2 star
1 star

Most Helpful Customer Reviews on Amazon.com (beta)

Amazon.com: HASH(0xa5b013b4) out of 5 stars 25 reviews
22 of 23 people found the following review helpful
HASH(0x9f49df9c) out of 5 stars JavaScript reloaded Sept. 11 2011
By S. Shanbhag - Published on Amazon.com
Format: Paperback
Being a Java Swing developer for many years, I was never a fan of JavaScript. There were no mature tools and frameworks a few years ago. Straight DOM programming was just error-prone and difficult to debug. Over the last few years, JavaScript has come back with a big bang, thanks to a lot of companies, among them, Google. This book is for people, like me, who gave up on JavaScript years ago because of a poor model but need to know new frameworks that help in writing concise, readable code, and also help design scalable and robust architecture, not to mention, using JavaScript with a large team that could be geographically spread out.

Frankly, this book won't teach you the basics of JavaScript. There are plenty of other books for that and the author mentions this up front. However, in my opinionion, the author does a great job of teaching how to use the simplified and concise form of JavaScript, sticking to OO way of doing it. He starts with MVC (and who doesn't love MVC!), events, models, data, controller, state, view, and templating. The examples are mostly in JQuery which is also my framework of choice for JavaScript development.

No real-time discussion of JavaScript is complete without the mention of WebSockets, Node.js, and Socket.IO. The author does a great job of explaining this in chapter 8. He also provides an example of how to make your applications look faster (perceived speed) as compared to actual speed. The later chapters focus on testing and debugging, deploying, and an overview of the Spine, Backbone, and JavaScriptMVC libraries. Appendix at the end of the book provide a JQuery primer and a reference to CSS extensions and CSS3.

I cannot say that after reading this book, I have fallen in love with JavaScript since I am a big fan of Adobe Flex. However, I have many JavaScript projects under my belt and this book is a valuable resource for me to ensure that my apps scale well and that my offshore resources use the sandbox model to avoid tight coupling and ensure reusability.
17 of 18 people found the following review helpful
HASH(0x9f68f3c0) out of 5 stars You just might learn a boatload of stuff... July 12 2012
By Amazon Customer - Published on Amazon.com
Format: Paperback Verified Purchase
I think this can be an incredibly helpful book if you hit it at the right stage in your JavaScript (JS) learning process, even if you don't need to implement full-blown MVC for your immediate needs. I can honestly say that I've learned as much, and probably more, from working through the core of this book (Chapters 1-5) than I have from any other single JS book.

But, you need to be at the right stage... which is basically, when you can follow the book, although it may take a bit of effort. If you're already a ninja, you probably don't need to read the book at all, unless you simply want to be exposed to another POV. And, for a lot of non-ninja, the book will be too advanced. Luckily, O'Reilly put the entire first chapter on-line so you can judge for yourself.

Chapter 1 is no namby pampy intro. In the chapter McCaw defines a constructor function used to create constructor functions that emulate classes in languages which support classes natively. He also includes a useful discussion of how the 'this' context switches in JS and how to control it with bind or by defining a jQ-like proxy method. Later design patterns have some similarity to what he does in chapter 1 (using Object.create instead of constructors), so if you can follow this chapter, you're probably ready to take on the book.

I'd describe the audience for the book as developers who've already built an app, or at least added fairly complex functionality to web pages and are comfortable with prototypal inheritance, closures on inner functions, call/apply and who know basic DOM scripting. Additionally, you may well have a sneaking suspicion that although your apps work, they're not designed as cleanly as they could be. If you're part of that audience, you just might learn a boatload of stuff as you follow McCaw's thinking as to how to design large-scale JS apps. Despite the sub-title, you don't really need to know jQuery (jQ) all that well, as long as you're somewhat familiar with it and the way it chains methods. One of the nice things about the book is that McCaw often gives you the plain old JavaScript (PoJS) for some of the basic methods he adds to his template objects and constructors, before switching to jQ for convenience. For example, after chapter 1 you'll have the PoJS equivalents for jQ's extend and proxy so it's easy to create a PoJS version for say the Model object or the Controller object which he defines later. For other jQ methods used in examples, you should be at the level where you can figure out what jQ is doing and write the equivalent in PoJS if that's what you want to do.

Some of the other reviews have touched on a few negatives, but to my mind they're not enough to downgrade the book. Occasionaly, the discussion seems to jump over an explanatory detail, but if you make a lab page that links to the book errata page and download the code for the examples, you should be able to fill in any gaps. I found the first five chapters fascinating, and chapters 6-13 useful and concise roll ups on various topics like dependency management, debugging and various libraries. In addition there are appendices that do a quick survey of jQuery and CSS3.

The problem with learning JS in the contemporary landscape is that what used to be advanced, even esoteric, technique is commonplace now. If you go back and look at the Sitepoint JavaScript Anthology or PPK on JavaScript which came out ~2005/2006, you'll see relatively straightforward and easy to understand JS and DOM scripting. But, as Crockford noted "JavaScript is Lisp in C's clothing" and if you don't have a theoretical background in functional programming, it can be very challenging to follow the ninja use of function scope to create modules, encapsulate values in closures etc... Wrapping your head around the core of this book can really deepen your understanding of JS.
16 of 17 people found the following review helpful
HASH(0x9f68f1c8) out of 5 stars Good but un-necessarily hard going Oct. 18 2011
By C. Jack - Published on Amazon.com
Format: Paperback
Great idea for a book and much of the content is first class. Make sure you've read JavaScript the Good Parts and/or JavaScript Patterns and have learned the basics of JQuery before even attempting to read this book though, otherwise your going to have trouble following along with some of the content.

Unfortunately it does have some falws. In particular I found some of the descriptions of code samples were lacking, additionally many of the code samples seemed un-necessarily terse/confusing. Normally I wouldn't massively care about this sort of thing in code samples, however when coupled with the use of some of JavaScripts odder features they make the code a bit painful to read. Thats not to say you can't understand whats going on, you just have to put in more effort than you might expect and you probably won't find it as enjoyable as you'd like.

These issues are the main reason I've given the book just three stars. I'm hoping the issues will be addressed in any future second edition, at which time this will definitely be a five star book.

One other thing, chapter 11 is on Spine.js. This chapter is now a little out-of-date, for example Spine now uses CoffeeScripts classes, so you may want to use the excellent online documentation for spine.js instead.
6 of 6 people found the following review helpful
HASH(0x9f68f7c8) out of 5 stars Outdated so be careful Nov. 3 2013
By kevin s. templer - Published on Amazon.com
Format: Kindle Edition Verified Purchase
The book is interesting and well written. Also, I really liked the simple examples. But like most things in the tech world, it can get outdated.

While all the examples and everything work if you use his libraries and versions of backbone.js, his version of backbone.js is 0.3.0 while the current version is 1.1.0!

I wasted a lot of time trying to work through the examples but using my own project's needs. For example the "bind" call in Chapter 12 is actually now "listenTo". And the "refresh" event doesn't work, I had to use the "sync" event.

Also the author's "spine" library no longer looks supported.

When you're learning something new, it's always a challenge. This is particularly difficult if you have a library that is outdated, and the text refers to that outdated library.

Unfortunately, I didn't find out in time before I could return the book.

I would look for something that is more modern and uses some latest version of backbone.js.
5 of 5 people found the following review helpful
HASH(0x9f68f7ec) out of 5 stars Perfect intro to Javascript web apps Feb. 20 2012
By GradualStudent - Published on Amazon.com
Format: Paperback
After only three weeks into owning the book, this is already among the most dog-eared books in my collection. It provides a clear and timely intro to developing apps in Javascript, making sense of what is otherwise a very dynamic and turbulent field of development.

It is an engagingly written and concise guide to exactly what its title describes: developing web applications in Javascript. It covers a wide range of topics, from setting up a generic MVC framework, persistence locally and via ajax, controllers, views, working with files, debugging and systematic testing, CSS and templates.

It's like getting a complete set of legos as a kid, with initial models to follow at first and then adapt to your own creative directions. Working through the examples is quick and addicting, and at the end you have the beginnings of the beautiful web app that you always wanted to develop.

In contrast to other reviewers, you definitely do not need to be a Javascript expert to follow along. You do need to know some Javascript and jQuery, but that's about it. You'll learn Javascript along the way.

The author does present his own framework, Spine JS, but in a completely equal even-handed presentation with Backbone JS and Javascript MVC. This book is equally good for learning all three. (And having done so, the motivation for Spine JS becomes clear, it's a simple elegant way of doing the same things with less code, plus a few extra benefits like decoupling the client from the server).

It's helpful to know how to set up your own RESTful web service (not included in this book) to try out the Ajax persistence, but even so you can get by just fine without it using local persistence in HTML 5.