High Performance JavaScript and over one million other books are available for Amazon Kindle. Learn more

Vous voulez voir cette page en français ? Cliquez ici.


or
Sign in to turn on 1-Click ordering.
or
Amazon Prime Free Trial required. Sign up when you check out. Learn More
More Buying Choices
Have one to sell? Sell yours here
Start reading High Performance JavaScript on your Kindle in under a minute.

Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.

High Performance JavaScript [Paperback]

Nicholas C. Zakas

List Price: CDN$ 43.99
Price: CDN$ 23.16 & FREE Shipping on orders over CDN$ 25. Details
You Save: CDN$ 20.83 (47%)
o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o
Only 3 left in stock (more on the way).
Ships from and sold by Amazon.ca. Gift-wrap available.
Want it delivered Tuesday, September 23? Choose One-Day Shipping at checkout.

Formats

Amazon Price New from Used from
Kindle Edition CDN $16.84  
Paperback CDN $23.16  
Save Up to 90% on Textbooks
Hit the books in Amazon.ca's Textbook Store and save up to 90% on used textbooks and 35% on new textbooks. Learn more.
Join Amazon Student in Canada


Book Description

April 2 2010 059680279X 978-0596802790 1

If you're like most developers, you rely heavily on JavaScript to build interactive and quick-responding web applications. The problem is that all of those lines of JavaScript code can slow down your apps. This book reveals techniques and strategies to help you eliminate performance bottlenecks during development. You'll learn how to improve execution time, downloading, interaction with the DOM, page life cycle, and more.

Yahoo! frontend engineer Nicholas C. Zakas and five other JavaScript experts—Ross Harmes, Julien Lecomte, Steven Levithan, Stoyan Stefanov, and Matt Sweeney—demonstrate optimal ways to load code onto a page, and offer programming tips to help your JavaScript run as efficiently and quickly as possible. You'll learn the best practices to build and deploy your files to a production environment, and tools that can help you find problems once your site goes live.

  • Identify problem code and use faster alternatives to accomplish the same task
  • Improve scripts by learning how JavaScript stores and accesses data
  • Implement JavaScript code so that it doesn't slow down interaction with the DOM
  • Use optimization techniques to improve runtime performance
  • Learn ways to ensure the UI is responsive at all times
  • Achieve faster client-server communication
  • Use a build system to minify files, and HTTP compression to deliver them to the browser

Special Offers and Product Promotions

  • Join Amazon Student in Canada


Frequently Bought Together

High Performance JavaScript + JavaScript: The Good Parts + JavaScript Patterns
Price For All Three: CDN$ 61.71


Customers Who Bought This Item Also Bought


Product Details


Product Description

Book Description

Build Faster Web Application Interfaces

About the Author

Nicholas C. Zakas is a Web Software Engineer who specializes in user interface design and implementation for Web applications using JavaScript, Dynamic HTML, CSS, XML, and XSLT. He is currently principal front end engineer for the Yahoo! homepage and is a contributor to the Yahoo! User Interface (YUI) library, having written the Cookie Utility, Profiler, and YUI Test.



Nicholas is the author of Professional JavaScript for Web Developers and a co-author on Professional Ajax, and has contributed to other books. He has also written several online articles for WebReference, Sitepoint, and the YUI Blog.



Nicholas regularly gives talks about Web development, JavaScript, and best practices. He has given talks at companies such as Yahoo!, LinkedIn, Google, and NASA, and conferences such as the Ajax Experience, the Rich Web Experience, and Velocity.



Through his writing and speaking, Nicholas seeks to teach others the valuable lessons he's learned while working on some of the most popular and demanding Web applications in the world.



For more information on Nicholas: http://www.nczonline.net/about/


Inside This Book (Learn More)
Browse Sample Pages
Front Cover | Copyright | Table of Contents | Excerpt | Index | Back Cover
Search inside this book:

What Other Items Do Customers Buy After Viewing This Item?


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: 4.4 out of 5 stars  27 reviews
31 of 31 people found the following review helpful
4.0 out of 5 stars Good tips, concise, not really ground-breaking April 2 2010
By Miller Medeiros - Published on Amazon.com
Format:Paperback|Verified Purchase
This book is a good reference on how to optimize JavaScript applications and also an interesting read in case you want to know how things work "under the hood".

Many of the techniques presented also works for other programming languages (and are well-known performance tricks) and can be used without increasing too much the code complexity, which is a huge gain, you're not just becoming a better JavaScript developer but also a better developer.

One thing that should be clear is that this book is NOT intended for BEGINNERS, since it already presumes that you have a good knowledge and experience with JS programming.

If you already read Professional JavaScript for Web Developers (Wrox Programmer to Programmer) (also written by Zakas), High Performance Web Sites: Essential Knowledge for Front-End Engineers and Even Faster Web Sites: Performance Best Practices for Web Developers you will find that some of the techniques were already present on those books, so if you're up-to-date with the new technologies/tools and been researching about the subject probably you already know a good part of what this book has to teach, nevertheless it still a nice and interesting read since it explains how the JavaScript engines work and why those techniques are faster, the fact that it is concise is a big plus too.

The book has some typo mistakes (which doesn't affect the understanding) and some of the line graphs (used to show browsers benchmark) are hard to read since all the lines look the same (as of 1st Edition).

I strongly recommend this book to any intermediate to advanced developer who wants to learn how to improve the overall performance of JavaScript applications since it is a concise and accurate compilation of best practices, even if you know a lot about the subject you may learn a few new tricks or understand a little bit better why it works...
29 of 31 people found the following review helpful
4.0 out of 5 stars great round-up of JS best practices (2 reviews in 1) April 13 2010
By R. Friesel Jr. - Published on Amazon.com
Format:Paperback|Verified Purchase
While reading Nicholas Zakas' "High Performance JavaScript", it occurred to me that there were actually two different reviews that I wanted to write. So, rather than try to reconcile them into one review, I'll simply apply them here as an ordered list.

(1) To continue with the JavaScript University metaphor (from my review of Zakas' Professional JavaScript for Web Developers (Wrox Programmer to Programmer)): Finals are coming up in Prof. Crockford's upper-division JavaScript class. You've been a diligent student all semester and although you're not failing, it always seems like you're somewhere in the middle of the pack. You want desperately to ace the final exam, so you reach out for some help. Zakas (the graduate student/teaching assistant for the class) offers to show you the thesis he is working on. Then It hits you like a bolt from the blue -- every bit of it resonates with you. "It's so simple! so clear!" you exclaim. The inner machinations of the language snap together in a way that makes it all feel new and exciting -- the possibilities are boundless! You go back over your notes. You were close -- oh so close -- the whole time. But the last little bits drop in. A refinement here, a re-factor there... and the next thing you know, things are blazing. Your pages load 60% faster, execution time is down an average of 40%. You're amazed at yourself. And when the grades for the final exam come back, you're pleased to see that you aced it (aside from that little Oops on scoping closures -- but you try to think of that as a conscious trade-off). Prof. Crockford is pleased (if a little disappointed that it took you this long to Get It) and you're the envy of your peers. At least until next semester's RegEx class with Prof. Levithan. [Rated: 5 of 5]

(2) The frustrating part about working at a well-organized shop is that you get yourself all excited for a book like this and then half the recommendations in there are things that you're already doing. Put scripts at the bottom of the document? Check. Minify and compress? Check. Concatenate and package? Check. So on the one hand you say: "I guess I can sleep a little easier at night knowing that our build system adheres to the best practices recommended by the experts out there." But on the other hand, you're a little disappointed because you were hoping for some startling revelations. Again: not that this makes it without merit. From this perspective, what is noteworthy about this book is that these best practices and techniques are all gathered up in one place and presented in a logical order; even if "you're already doing it right", it is still a worthwhile exercise to meditate on the specifics, and to really go deep on why these best practices are important. (Plus, it's great to see the data -- nothing beats a little chartporn for proving the point.) [Rated: 4 of 5]
12 of 12 people found the following review helpful
5.0 out of 5 stars Comparing HPJS to Even Faster Websites April 30 2010
By David Waller - Published on Amazon.com
Format:Paperback
Having found Nicholas Zakas' blog to be an excellent resource on JavaScript insights, I was very much looking forward to this book. The fact that he'd also enlisted a whole cast of frontend rock stars to contribute chapters didn't do much to damper my excitement, so I was childishly happy when the book finally knocked on my door!

The title of the book is of course a throwback to Steve Souders' epitomous High Performance Web Sites: Essential Knowledge for Front-End Engineers, released a few years back by the same publisher. In much the same way it covers all aspects of performance in its chosen realm. That book gained Souders much appraise for making the web developer community at large aware of the various performance issues connected to the frontend, and how & why optimizing time was better spent there than on the backend which had previously been the prime target for such efforts. Last year Souders piggybacked on that appraise by releasing a sequel titled Even Faster Web Sites: Performance Best Practices for Web Developers (EFWS), where he - along with a group of co-authors, including Zakas - delved even deeper into frontend performance.

Souders' first book touched on JavaScript here and there, but in EFWS it plays a much more dominant role, being the focus of half of the chapters. Even though the context is still websites, the insights it offers can easily be applied to any realm in which JavaScript performance is a concern. This is why we used it as course literature for our university course on developing JavaScript RIA applications where it was much appreciated by the students, even though we weren't making websites as such. I myself love the book, and it is one of the most thumb-through tomes on my shelf.

My being a part of EFWS fandom was also the reason behind my prime fear regarding HPJS - just how big would the overlap between the two turn out to be? After all, the ideas behind them seem almost identical (minus the website bits); have a team of JavaScript performance ninjas each write a piece on their individual expertise. Would it really be justified to have these two books in the same shelf? Is this town big enough for the two of them?

Definitely yes. Although a Venn diagram would show quite a bit of overlap...

* HPJS chapter 1 (Loading and Execution) is largely made up of the same content as EFWS chapter 4 (Loading Scripts without blocking)
* EFWS chapter 7 (Writing Efficient JavaScript) contains the gist of HPJS chapters 4 (Algorithms and Flow Control), 6 (Responsive Interfaces) and 8 (Programming Practices)
* Most of HPJS chapter 9 (Building and Deploying High-Performance JavaScript Applications) can be found sprinkled across various EFWS chapters

...the books have enough diverse content, difference in tone of voice and primary focus, to make for two quite different reads.

The question of unique content, I feel, is largely moot anyway, as it is very rare to find a book containing knowledge that cannot be found elsewhere. That's not a bad thing, it's just the way of the web. When buying a programming book, you're paying for the convenience of having lots of related material collected in one place. The research behind HPJS chapter 2 (Data Access), for instance, has been detailed on Zakas' blog, just as Stoyan has already blogged a lot of what ended up in chapter 3 (DOM Scripting).

So downrating the book for being a "compilation", as one of the few not-so-positive other reviewers here does, is rather unfair and beside the point. HPJS should be judged, instead, by how well it weaves it all together, and of course by the quality of the individual chapters. In my book, it receives top scores in both of these categories.

Some co-authored books while inevitably feel rather fragmented. There are moments in EFWS when the (very) different writing styles of contributing authors gets in the way of seeing the whole picture. Similar moments arose for me while reading the semi-recent jQuery CookBook, which - while excellent - at times feels very schizophrenic. Of course co-authors need to be given some artistic leeway as to how they express themselves, but when they seem to have different takes on the main ideas behind the book, it becomes a problem.

This never happens in HPJS, which obviously has been the target of some very loving editing. Even though the different performance aspects have quite a different flavour, as does the writing of the contributing authors, you never lose the sense of context. The fact that the book stays true to its gospel - performance - is one of its biggest strengths.

There must have been innumerable temptations to mention non-performance related things that could be made to sort under a chapter's domain, but not fit inside the book as a whole. I'm sure, for example, that Steven Levithan bit his tongue while writing the (brilliant!) chapter on regexes, forcing himself not to share parts of his vast regexp knowledge that doesn't relate directly to performance. Because he and his peers withstood that temptation, HPJS is a better book.

Also worth mentioning is how succinct the book is. It is not very thick, but the information density is very high. While maybe not everyone's cup of tea, this is something I very much appreciate. Much like how Crockford's renowned JavaScript - The Good Parts delivers the message in few but well-chosen words without much air between them, HPJS is very clear and efficient in its teachings, with no filler content to increase page count.

Another merit is the "general knowledge level" of the content. Mostly, the teachings in the book are applicable to whatever JavaScript coding you're doing, today and in five years from now. We recently sang the praise of Jonathan Stark's new book on iPhone web apps, making that same point - it gives you ideas, which won't be made obsolete when the involved API:s inevitably change a few steps down the path.

So, to finally bottom-line this; both books have their place. EFWS and HPJS are partly speaking about the same things, but in different voices under different headlines to different people. Also, HPJS is a bloody brilliant book, and not owning it should be reason enough for ostracication from the frontend community.
5 of 5 people found the following review helpful
5.0 out of 5 stars Great optimization tips May 25 2010
By T. Ferrell - Published on Amazon.com
Format:Paperback
My company is in the process of building an enterprise level web application. As most developers do, we use a combination of Firefox and Firebug to test our application, and the application worked great in Firefox. Problem: the company standard for a web browser is IE7.

Upon running the app in IE7 the app lagged to a point where it was unusable. Intensive processes that took 2 seconds in Firefox took upwards 10 minutes in IE7 (not exaggerating). We complained about how much of a pain it is to program for IE for a while, but realized that we had to find a solution to these problems; they weren't just going to disappear by us complaining.

A Google search revealed some ways that we could optimize our code, and it worked to a degree; but what really helped our application pur was this book. By learning about the amount of load associated with certain processes, and discovering alternate, better ways of executing them we were able to make our application work in IE.

Looking back, I wish I'd know of these best practices and tweaks earlier, and certainly wish that I'd read this before we started with our app.
5 of 5 people found the following review helpful
4.0 out of 5 stars concise and informative March 31 2010
By brad - Published on Amazon.com
Format:Paperback|Verified Purchase
this book is useful for those at the intermediate to advanced js skill level. zakas' likely won't surprise any experienced frontend coders, but it is still useful and convenient to have these techniques together in one book. like crockford's "javascript:the good parts", this book is refreshingly concise.

Look for similar items by category


Feedback