Programming JavaScript Applications: Robust Web Architecture with Node, HTML5, and Modern JS Libraries

1st Edition
ISBN-13: 978-1491950296, ISBN-10: 1491950293
3.6 on Goodreads
(160)
Loading Images...
Double-tap to zoom
Buy New
-45% CAD30.12
Delivery Wednesday, December 17
Ships from: Amazon
Sold by: RoseBookz
CAD 30.12 with 45 percent savings
List Price: CAD 55.05
No Import Charges & CAD 10.81 Shipping to Canada Details

Shipping & Fee Details

Price CAD 30.12
AmazonGlobal Shipping CAD 10.81
Estimated Import Charges CAD 0.00
Total CAD 40.92

Delivery Wednesday, December 17. Order within 21 hrs 51 mins
Only 1 left in stock - order soon.
CAD CAD 30.12 () Includes selected options. Includes initial monthly payment and selected options. Details
Price
Subtotal
CAD CAD 30.12
Subtotal
Initial payment breakdown
Shipping cost, delivery date, and order total (including tax) shown at checkout.
Ships from
Amazon
Amazon
Ships from
Amazon
Returns
FREE refund/replacement until Jan 31, 2026
FREE refund/replacement until Jan 31, 2026
For the 2025 holiday season, eligible items purchased between November 1 and December 31, 2025 can be returned until January 31, 2026.
Read full return policy
Payment
Secure transaction
Your transaction is secure
We work hard to protect your security and privacy. Our payment security system encrypts your information during transmission. We don’t share your credit card details with third-party sellers, and we don’t sell your information to others. Learn more
CAD 10.09
No Import Charges & CAD 10.81 Shipping to Canada Details

Shipping & Fee Details

Price CAD 30.12
AmazonGlobal Shipping CAD 10.81
Estimated Import Charges CAD 0.00
Total CAD 40.92

Former library book; May have limited writing in cover pages. Pages are unmarked. ~ ThriftBooks: Read More, Spend Less
CAD 9.62 delivery December 31 - January 12. Details
In stock
CAD CAD 30.12 () Includes selected options. Includes initial monthly payment and selected options. Details
Price
Subtotal
CAD CAD 30.12
Subtotal
Initial payment breakdown
Shipping cost, delivery date, and order total (including tax) shown at checkout.
Access codes and supplements are not guaranteed with used items.
Ships from and sold by ThriftBooks-Phoenix.
Item couldn't be saved. Please try again later. This item could not be removed from your list. Please try again later
{"mobile_buybox_group_1":[{"displayPrice":"CAD 30.12","priceAmount":30.12,"currencySymbol":"CAD","integerValue":"30","decimalSeparator":".","fractionalValue":"12","symbolPosition":"left","hasSpace":true,"showFractionalPartIfEmpty":true,"offerListingId":"GOFSkZY5HcSecZLrlXmnoIJxe2pqST3wUoPmCUpAHAYwLsSEIucZMuvrTeoOUjtAiOOReRPvtQUcacgmfOZLBYyD7f%2BDrbJKMY5GF5Sm64VB7b0mWkUkTO1ZM2K2q8qcmbsb%2BJ9WkQm4BGt0L%2FlK8Cpk9fhdsWnEEABznVedNfXv6%2BUtR1OkwpVs%2BBLJ%2Fz%2FL","locale":"en-US","buyingOptionType":"NEW","aapiBuyingOptionIndex":0}, {"displayPrice":"CAD 10.09","priceAmount":10.09,"currencySymbol":"CAD","integerValue":"10","decimalSeparator":".","fractionalValue":"09","symbolPosition":"left","hasSpace":true,"showFractionalPartIfEmpty":true,"offerListingId":"GOFSkZY5HcSecZLrlXmnoIJxe2pqST3wiXDiI9Pis8WIb1HSnSQbgfYRk8m1yxHsm9cFWv%2BjcJ7vWZ8ZxxTOe3bYZLZf83WB1tK5HBPd%2FolqaPAToCCcMLlcSmJ8fJMedH5oVdgiotTcpdiz6nPzT5VP2RpEoddX6rKcArnxX81xfdTJDdHSUX3rymy1aEsy","locale":"en-US","buyingOptionType":"USED","aapiBuyingOptionIndex":1}]}
Brief content visible, double tap to read full content.
Full content visible, double tap to read brief content.
Brief content visible, double tap to read full content.
Full content visible, double tap to read brief content.

Book details

Brief content visible, double tap to read full content.
Full content visible, double tap to read brief content.

Take advantage of JavaScript’s power to build robust web-scale or enterprise applications that are easy to extend and maintain. By applying the design patterns outlined in this practical book, experienced JavaScript developers will learn how to write flexible and resilient code that’s easier―yes, easier―to work with as your code base grows.

JavaScript may be the most essential web programming language, but in the real world, JavaScript applications often break when you make changes. With this book, author Eric Elliott shows you how to add client- and server-side features to a large JavaScript application without negatively affecting the rest of your code.

  • Examine the anatomy of a large-scale JavaScript application
  • Build modern web apps with the capabilities of desktop applications
  • Learn best practices for code organization, modularity, and reuse
  • Separate your application into different layers of responsibility
  • Build efficient, self-describing hypermedia APIs with Node.js
  • Test, integrate, and deploy software updates in rapid cycles
  • Control resource access with user authentication and authorization
  • Expand your application’s reach through internationalization

About the Author

Eric Elliott is a veteran of JavaScript application development. He is currently a member of the Creative Cloud team at Adobe. Previous roles include JavaScript Lead at Tout (social video), Senior JavaScript Rockstar at BandPage (an industry leading music app), head of client side architecture at Zumba Fitness (the leading global fitness brand), and several years as a UX and viral application consultant. He lives in the San Francisco bay area with the most beautiful woman in the world.

About the author

Follow authors to get new release updates, plus improved recommendations.
Brief content visible, double tap to read full content.
Full content visible, double tap to read brief content.

Eric Elliott is the Webby-nominated best selling author of "Composing Software", and founder of Greenruhm.com, a Web3 music social network. He helped build BandPage (now YouTube Artist Pages), which hosted 500k bands including Usher, Frank Ocean, Metallica, etc. He was an early contributor to Adobe Creative Cloud, and tech lead on a video social network used by CBS, NBC, BBC, ESPN, WSJ, and many more.

He enjoys a remote lifestyle with the most beautiful woman in the world.

From the brand

Brief content visible, double tap to read full content.
Full content visible, double tap to read brief content.

Product information

Publisher O'Reilly Media
Publication date August 19, 2014
Edition 1st
Language ‎English
Print length 251 pages
ISBN-10 1491950293
ISBN-13 978-1491950296
Item Weight ‎15.7 ounces
Dimensions 7 x 0.58 x 9.19 inches
Best Sellers Rank
Customer Reviews 4.0 out of 5 stars 62Reviews

Customers say

Customers appreciate the book's JavaScript examples, with one noting that every concept is demonstrated via unit tests. However, the information quality and language clarity receive mixed reviews. Moreover, customers disagree on the book's pacing, with some finding it too complex for beginners.

Customers appreciate the JavaScript examples in the book, with one customer noting that every concept is demonstrated via unit tests, and another highlighting the clear examples for both server-side and client-side development.

"...There are lots of examples, sure - but it's more like, "Here's how wrote this thing that I wrote" - without a whole lot of depth...." Read more

"...cook's tour--but with more stops along the way--of building applications entirely with JavaScript, with clear examples for both server-side..." Read more

"...The downside is the techniques are presented largely without evaluation (at least "comprehensible" evaluation) and without example uses...." Read more

"...but great book to understand structure and best practice around building modern JavaScript applications." Read more

Customers have mixed opinions about the information quality of the book, with some finding it helpful while others note that the descriptions are brief.

"...Second half takes a different route and is helpful but not as good as the code parts." Read more

"...The downside is the descriptions are so brief it can be difficult to figure out which contexts each technology fits into...." Read more

"...skills to the next level, seriously consider buying this amazing resource." Read more

"...It's well written, easy to read, and contains some good information...." Read more

Customers have mixed opinions about the book's pacing, with several noting it is not suitable for beginners.

"...It's too complex for beginners, and too simple for pros. I'm an experienced JavaScript developer, but I'm now learning HTML5 and Node...." Read more

"...It's definitely not a beginner's book. Very densely packed info that's presented clearly." Read more

"...It is not a book for a beginner who is new to the language of JavaScript...." Read more

"...what a lot of other readers have said, namely that this is a very confused book...." Read more

Customers have mixed opinions about the language clarity of the book, with one customer appreciating its extreme conciseness, while another finds it hard to parse for meaning.

"...Elliott clearly understands the language well, but all this really is a a bunch of short, not very useful overviews of certain high-level concepts...." Read more

"...I found they added little or nothing because they were so hard to parse for meaning. There are virtually no comments in the snippets...." Read more

"...There are no redundancies or segues; there aren't even hardly any comments in the example code snippets...." Read more

Top reviews from the United States

  • 5.0 out of 5 starsVerified Purchase
    Amazing book for intermediate javascripters
    Reviewed in the United States on July 19, 2015
    Format: Paperback
    this book really is a phenomenal next step to take after reading "JavaScript: the good parts". To me, one of the best aspects of this book is how every concept introduced is demonstrated via a unit test. If you are looking to take your JavaScript skills to the next...
    this book really is a phenomenal next step to take after reading "JavaScript: the good parts". To me, one of the best aspects of this book is how every concept introduced is demonstrated via a unit test. If you are looking to take your JavaScript skills to the next level, seriously consider buying this amazing resource.
    One person found this helpful
  • 4.0 out of 5 starsVerified Purchase
    You'll learn a lot and get a lot done by reading this book
    Reviewed in the United States on October 15, 2014
    Format: Paperback
    This a cook's tour--but with more stops along the way--of building applications entirely with JavaScript, with clear examples for both server-side (really Node.js) and client-side environments. It is not a book for a beginner who is new to the language of...
    This a cook's tour--but with more stops along the way--of building applications entirely with JavaScript, with clear examples for both server-side (really Node.js) and client-side environments.

    It is not a book for a beginner who is new to the language of JavaScript. But if you're already comfortable using and discussing constructors, prototypes, callbacks, closures, type coercion, and/or have an opinion about "functional" vs. "object-oriented" programming, then you're ready for this book.

    Eric has a handful of strong opinions which I've variously held and abandoned (and grudgingly re-adopted) over time. Most useful to me, then, are examples demonstrating fundamental concepts, and Eric provides plenty of those.

    The appendix on JavaScript style is also a great resource, for in it Eric condenses so much of the "best practice" tips you've probably seen scattered throughout the JavaScript universe of discourse.

    The only caveat is the one common to all programming books. Some software dates faster than others. In the JavaScript world, this is especially the case. It shows up in the different versions of Express, for example, or the battle between emerging build tools (Grunt vs. Gulp vs. ...) and testing libraries (QUnit vs. Mocha vs...). Eric shows how to care for and feed your application using Grunt with JSHint, QUnit and browserify. This works well enough that you should be able to swap out what you don't need for newer/faster/better modules and tools in the future, by which time the second edition should be ready (right, Eric? :).
    12 people found this helpful
  • 5.0 out of 5 starsVerified Purchase
    HIs perspective on the JS universe resonates with me. ...
    Reviewed in the United States on December 8, 2016
    Format: Paperback
    HIs perspective on the JS universe resonates with me. It's definitely not a beginner's book. Very densely packed info that's presented clearly.
    One person found this helpful
  • 4.0 out of 5 starsVerified Purchase
    Second half takes a different route and is helpful but not as good as the code parts
    Reviewed in the United States on May 8, 2015
    Format: Kindle
    The first half taught me more about javascript that anything else I've read. Second half takes a different route and is helpful but not as good as the code parts.
    2 people found this helpful
  • 5.0 out of 5 starsVerified Purchase
    Excellent book to learn JS
    Reviewed in the United States on August 26, 2015
    Format: Kindle
    Excellent book for a JS deep dive.
  • 2.0 out of 5 starsVerified Purchase
    Can't Decide Who Its Audience Is - Too Complex for Beginners, Too Simple for Pros
    Reviewed in the United States on March 23, 2017
    Format: Paperback
    I'm giving a rough review, but I want to start with a caveat - it's not a _bad_ book. It's well written, easy to read, and contains some good information. That said, here's the problem I have with it: The author doesn't seem to be clear who he wrote it...
    I'm giving a rough review, but I want to start with a caveat - it's not a _bad_ book. It's well written, easy to read, and contains some good information. That said, here's the problem I have with it: The author doesn't seem to be clear who he wrote it for. It's too complex for beginners, and too simple for pros.

    I'm an experienced JavaScript developer, but I'm now learning HTML5 and Node. This book looked like a sure thing. Unlike most O'Reilly books I've read, however, this book is more of a high-level overview than a deep technical resource.

    First, I don't even know why HTML5 is in the title. It barely touches on anything HTML5-related at all. It does use HTML, but none of the new HTML5 features.

    Second, I've already read a beginners Node book, and thank God for that. This book goes thru a couple chapters where examples use Node-specific features and APIs, but it doesn't explain them in a useful way for anyone who doesn't know Node already. Once it does try to explain Node in some detail, it barely scratches the surface - just a high level overview of the very basics. That would be OK if it dove deep into pro-level features, but it doesn't do much of that either. It shows how he would write some things in Node, and it recommends certain Node libraries, etc., but it didn't teach me much about how to actually build my own web app from scratch with Node.

    The same is true of JavaScript. If you're new to JavaScript, don't even bother with this book. It is NOT for beginners. It assumes a lot of experience - so much so that even I was confused at times and I'm experienced. But for a pro, it doesn't really go deeply enough into anything technical with JS. There are lots of examples, sure - but it's more like, "Here's how wrote this thing that I wrote" - without a whole lot of depth.

    Third, the title mentions "Modern JS Libraries" - but again it barely scratches the surface. Elliott gives a quick high-level overview of Backbone and several other libraries, but it's just an intro. I can't say I learned anything meaningful about writing an app with Backbone, Angular, or the other libs he touches on. I know their names and have the ability to go do more research, but that's about it.

    The author is clearly very technically strong and experienced, but he assumes his readers are too. I've been a web developer for 20 years, and I have a broad range of experience - and again, thank God. He talks about a lot of things that assume deep technical and industry experience. If you're a beginner you will be lost. If you're a pro, you'll be frustrated that he starts to get somewhat deep on certain things but then quickly moves on. This is not a technical resource I'll bookmark and keep on the shelf by my desk. It's just not that deep, at all.

    To be fair, what this book does to well is discuss, at a high level, many of the general considerations a team would have when building a web app and some of the problems they might face. Again, though, it's a overview, not a meaningful technical road map.

    Final word: This really isn't a _bad_ book, it's just not the book I expected. I'm a JS pro and an intermediate server-side guy, and I closed it asking myself, "What did I really learn from this?" I did learn some things - but I didn't learn how to build a JS App with Node, HTML5, or Modern JS Libraries. I'll need to read several more books for that. #sigh
    6 people found this helpful
  • 3.0 out of 5 starsVerified Purchase
    only if you're in the tiny "target audience"
    Reviewed in the United States on July 13, 2015
    Format: Paperback
    I found this book extremely frustrating, and cannot recommend it outside its tiny target audience. This is really two books inside just one cover. One of the books is about the Javascript language, particularly some very advanced techniques, and some "mom and...
    I found this book extremely frustrating, and cannot recommend it outside its tiny target audience.

    This is really two books inside just one cover. One of the books is about the Javascript language, particularly some very advanced techniques, and some "mom and apple pie" about putting together large applications (loose coupling, modules, etc.). The other book is an overview of new technologies useful in constructing large applications. The two book parts largely separate by chapter (although there's no suggestion of it in the Table of Contents). There is just enough blending together of the two parts though to justify publishing both parts inside one cover.

    The first part describes quite a few advanced language techniques, including some I've never seen written up in any other book. The downside is the techniques are presented largely without evaluation (at least "comprehensible" evaluation) and without example uses. The second part briefly describes and then evaluates each of several new technologies, ranging from very commonly described ones (node.js, templates, JSON, fat clients, etc.) to ones you may have never heard of before (Siren, HATEOAS, new API Media mime-types, etc.). The downside is the descriptions are so brief it can be difficult to figure out which contexts each technology fits into.

    Both book parts are substantial; don't be fooled by the moderate page count. There are no redundancies or segues; there aren't even hardly any comments in the example code snippets. I find most books too wordy and generally applaud a more concise style, but I see here that if carried too far conciseness turns into incomprehensibility. Too often I felt like I was slogging through a math textbook for an advanced class I wasn't even taking, and worse a book in which the copious equations hadn't been proofread very well. Too often I couldn't determine whether my puzzling how to fit together the comments in the text with the example code snippet was because I was insufficiently familiar with some concept, or a victim of another writing error.

    There are lots and lots of snippets of example code; I'd say the majority of the pages include at least one code snippet. Despite their volume though I found they added little or nothing because they were so hard to parse for meaning. There are virtually no comments in the snippets. There's never even an alternate font or boldfaced line or lines. As a result I often couldn't even tell which part I should be looking at. Sometimes a snippet is complete and standalone; sometimes it assumes (without comment or pointer) the environment from a previous snippet; and sometimes it references variables and functions that as far as I could see were never defined anywhere. Once in a while each snippet reprised the previous one except with a few more lines; most of the time though each snippet is de-novo. Most of the time the whole snippet is relevant to the immediately surrounding text; but once in a while the snippet also includes an unusual construct illustrating a different concept that was covered several pages (or even chapters) earlier.

    The target audience seems to be only web application system architects who already work full time in the field. Few others will be able to even puzzle through the majority of the content. Just one example of the many topics I found maddeningly over-abbreviated: In the discussion of "modules" a comment about it sometimes making the most sense to "precompile" the client-side Javascript really caught my attention. (It's possible to "pre-compile" Javascript? For another machine? And send it over the network? - In general HOW? What browser/client support is required? Is it possible with an Apache server? ) ...next topic

    For the right people, this book will be great, and its extreme conciseness will be a plus; for everyone else though this book will be at least irrelevant and maybe even an active downer. The message I personally came away with was "you're not good enough, why are you trying?". I wish I could say that if folks who are just a little under-prepared reread enough times and worked hard enough they'd eventually "get it", but I suspect the book is so focussed on its target audience that others can't use it to "catch up" no matter what. Targeting such a tiny audience and making everyone else "feel stupid" seems to me an odd strategy for selling lots of books :-)
    42 people found this helpful
  • 5.0 out of 5 starsAmazon Vine Customer Review of Free Product
    Good stuff. Insightful content.
    Reviewed in the United States on October 13, 2014
    Format: Paperback
    According to the author, this book is not an introduction to Javascript, but intended for an intermediate coder who is looking to produce a complete self-contained app based entirely on Javascript. In addition, the book is intended to demonstrate the need for flexibility in...
    According to the author, this book is not an introduction to Javascript, but intended for an intermediate coder who is looking to produce a complete self-contained app based entirely on Javascript. In addition, the book is intended to demonstrate the need for flexibility in coding, and avoiding the pitfalls that make the code too rigid and difficult to modify during the app lifespan.

    The text has lots of jargon in it and even creates new jargon. For the Javascript novice moving toward the intermediate level, this may slow down your appreciation of the content and at times be confusing, but stick with it. You are both unlearning bad habits in the process of reading this book, as well as learning better approaches to coding from scratch. Consequently, I actually believe that novice coders would benefit from reviewing this book early on because it makes the case for coding in a highly consistent manner. It also reviews coding logic that might otherwise be lost to a novice coder who would likely pick up bad habits by sloppy coding that may work at first, but which is neither efficient nor amenable to modifications as their app program evolves. Being aware of this book is especially useful if the novice coder is learning Javascript completely on their own.

    I got a lot of this book, and there is plenty still here for me to go over again and again. I felt this was targeted exactly at my level of coding experience (I've done a lot of script coding and a couple of complete Javascript apps). The book left me wanting more information, particularly with respect to DOM manipulation and local storage. So I would say this is an incomplete book in some ways, but if you consider it a stepping stone in your coding education, you'll appreciate it more. I would consider this the kind of book that reveals common information, but in a much more insightful way. This is the kind of material/advice you would expect to get from someone who has already walked along the path you wish to follow. To me the author is giving you insight to avoid getting frustrated by taking a wrong turn in building your application, or coding yourself into a corner.

    I kind of disagree with the author's warning that this is not a book for the novice. I think a novice would get a lot from the first few chapters of the book, even if it is not written for them. I do agree that the last half of the book is too esoteric for the novice, but good for the intermediate coder.
    3 people found this helpful

Top reviews from other countries

  • A. Gray
    5.0 out of 5 starsVerified Purchase
    What an amazing person and what a great coach
    Reviewed in the United Kingdom on December 30, 2016
    Eric Elliot will take you on a whirlwind tour of JS here - got issues? Just ask him and he'll get back to you! What an amazing person and what a great coach. Just get it!
    Eric Elliot will take you on a whirlwind tour of JS here - got issues? Just ask him and he'll get back to you! What an amazing person and what a great coach.

    Just get it!
  • F.Maccarrone
    5.0 out of 5 starsVerified Purchase
    OMG
    Reviewed in Italy on February 18, 2015
    Premetto che non ho ancora finito di leggere questo libro, ma mancano una manciata di pagine... Fantastico: per chi lavora sul JavaScript da almeno un annetto permette di avere una visione più avanzata ed aperta su quello che il JavaScript può davvero fare. Potenzia alcuni...
    Premetto che non ho ancora finito di leggere questo libro, ma mancano una manciata di pagine... Fantastico: per chi lavora sul JavaScript da almeno un annetto permette di avere una visione più avanzata ed aperta su quello che il JavaScript può davvero fare. Potenzia alcuni punti focali, dei quali si pensava di avere già il massimo controllo. Consigliatissimo anche per chi lavora su JavaScript da pochi mesi... Acquisto più che valido
    Premetto che non ho ancora finito di leggere questo libro, ma mancano una manciata di pagine...
    Fantastico: per chi lavora sul JavaScript da almeno un annetto permette di avere una visione più avanzata ed aperta su quello che il JavaScript può davvero fare. Potenzia alcuni punti focali, dei quali si pensava di avere già il massimo controllo.
    Consigliatissimo anche per chi lavora su JavaScript da pochi mesi...
    Acquisto più che valido
  • Jean-Philippe Lambert
    5.0 out of 5 starsVerified Purchase
    Five Stars
    Reviewed in Canada on August 25, 2014
    This book is a refreshing standpoint on Javascript coding and web architecture.
    This book is a refreshing standpoint on Javascript coding and web architecture.
  • Pichoneitor
    4.0 out of 5 starsVerified Purchase
    Excelent!
    Reviewed in Germany on June 8, 2016
    really good examples, if you want to extend your js knowledge. buy it really good examples, if you want to extend your js knowledge. buy it
    really good examples, if you want to extend your js knowledge. buy it
    really good examples, if you want to extend your js knowledge. buy it
  • Christian
    5.0 out of 5 starsVerified Purchase
    Good
    Reviewed in Italy on August 25, 2016
    If you need to start or extend your knowledge on javascript and software development, this is a good choice. Very Good
    If you need to start or extend your knowledge on javascript and software development, this is a good choice.
    Very Good

How customer reviews and ratings work

Customer Reviews, including Product Star Ratings help customers to learn more about the product and decide whether it is the right product for them.Learn more how customers reviews work on Amazon