|
|||||||||||||||||||||||||||||||||||
|
16 Reviews
|
Average Customer Review
Share your thoughts with other customers
Create your own review
|
|
Most Helpful First | Newest First
|
|
25 of 25 people found the following review helpful:
4.0 out of 5 stars
Good tips, concise, not really ground-breaking,
Amazon Verified Purchase(What's this?)
This review is from: High Performance JavaScript (Build Faster Web Application Interfaces) (Paperback)
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...
17 of 18 people found the following review helpful:
4.0 out of 5 stars
great round-up of JS best practices (2 reviews in 1),
By
Amazon Verified Purchase(What's this?)
This review is from: High Performance JavaScript (Build Faster Web Application Interfaces) (Paperback)
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]
9 of 9 people found the following review helpful:
5.0 out of 5 stars
Comparing HPJS to Even Faster Websites,
By
This review is from: High Performance JavaScript (Build Faster Web Application Interfaces) (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,
By
This review is from: High Performance JavaScript (Build Faster Web Application Interfaces) (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,
Amazon Verified Purchase(What's this?)
This review is from: High Performance JavaScript (Build Faster Web Application Interfaces) (Paperback)
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.
2 of 2 people found the following review helpful:
4.0 out of 5 stars
A solid addition to a JS developer's bookshelf,
Amazon Verified Purchase(What's this?)
This review is from: High Performance JavaScript (Build Faster Web Application Interfaces) (Paperback)
Zakas does a brilliant job covering all the bases for the modern Javascript developer. Optimizing Javascript performance is often difficult, if done at all, and now there are a lot of good tips conveniently in one reference. The topics are well thought out and organized in a natural way. And while the lines on the charts were a bit difficult to distinguish from one another, I liked how the various techniques were backed up with cross-browser analysis.
I would highly recommend this book to the intermediate JS developer. For those of us who follow front-end optimization discussions regularly, some of the topics covered in this book have been covered elsewhere. Nevertheless, there is still a lot useful material here. Front-end performance is currently a hot topic and I'm glad Zakas et. al. are nudging developers in the right direction.
1 of 1 people found the following review helpful:
5.0 out of 5 stars
Great asset for all Web developers!,
This review is from: High Performance JavaScript (Build Faster Web Application Interfaces) (Paperback)
The growth in popularity of JavaScript and many of the available frameworks that make easier the lives of Web developers, have encouraged many developers to use more and more JavaScript code in their pages.
Despite the recent advances in the latest releases of the most common browsers, the intensive use of JavaScript in Web pages may lead to slowdowns that may hurt significantly the usability of Web sites. Therefore, it is very important that Web developers learn what affects the performance of JavaScript and what you can to improve your JavaScript code to make Web pages as smooth as possible. That is precisely the topic that the High Performance JavaScript book focus. Let me give an overview of what is covered in each chapter. The first chapter covers the position in the Web pages where JavaScript code should be placed to minimize the delays it may cause to the page loading. The second chapter talks about the different types of variable scopes and how it affects the execution of the code that accesses variables. The third chapter discusses the speed of the different ways to access and manipulate the elements of a page using DOM. It also discusses how page element manipulation affects the speed of browsers doing the layout and rendering of the page. The fourth chapter focus on the implementation of algorithms, the performance of loops, conditional logic and the implementation of recursive tasks. The fifth chapter talks about string manipulation and in particular using optimized regular expressions to speedup text manipulation. The sixth chapter focus on building responsive user interfaces. It talks about using timers to schedule regular tasks, as well how to use Web workers to run lengthy tasks in the background. The seventh chapter discusses about AJAX requests, the performance of using different formats to exchange data with servers and taking advantage of caching to achieve performance gains. The eighth chapter proposes several JavaScript programming practices that result in more efficient code. For instance it explains that you can use functions as callbacks instead of code strings that need to be evaluated, as well using object or array literal values instead of initalizing their members one by one. The nineth chapter switches to a slightly different topic that may influence the performance of your JavaScript code, which is the way you build and deploy your projects. It goes through several techniques like minification of JavaScript code, HTTP compression and caching of JavaScript and other types of static files. Finally, the last chapter talks about several tools and frameworks that may help you to produce better JavaScript code like performance profilers and other tools and extensions available for the different browsers that may help you diagnose and fix your code. In conclusion, you should always keep in mind the performance of your Web sites definitely influences in the success they can have. The performance of the JavaScript code you use in your pages is certainly one of the factors that affects the performance of your sites. This is a terrific book for those that have conscience of the importance of writing high performance JavaScript code and want to know all they can do to make your code better. This is not a very large book, only about 200 pages. However the concentration of valuable information and tips makes it a great asset for all Web developers to have it permanently present in their desks. Originally reviewed at: http://www.jsclasses.org/reviews/id/059680279X.html
1 of 1 people found the following review helpful:
5.0 out of 5 stars
How fast should I try to be?,
By
This review is from: High Performance JavaScript (Build Faster Web Application Interfaces) (Paperback)
As others have already pointed out, the book contains a lot of sound advice that may not be ground-breaking for advanced programmers, but is useful for just about everybody.
Overall, the most useful aspect of the book is that it quantifies all of the optimizations that it proposes. I don't feel like designing test-cases to profile every single loop that I write. I also want to avoid premature optimization, because we know how bad that can be. Once you have assimilated Zakas' book, a lot of these little, day-to-day decisions will just come naturally: what kind of loop to use where, whether you should use a timer for some lengthy calculation, etc. Execution speed is going to be a major consideration as javascript applications become more and more complex. This book definitely helps you think in the right terms.
5.0 out of 5 stars
Great book,
By
Amazon Verified Purchase(What's this?)
This review is from: High Performance JavaScript (Build Faster Web Application Interfaces) (Paperback)
There are things covered in this book that I haven't seen elsewhere but I have often wondered about. Highlights were string processing optimization, techniques in adding non-blocking scripts, and in-depth look at array processing.. I also really enjoyed detailed look at different ways to implement a javascript String trim() method - made me realise again how bad the advice a google search can return sometimes. The most disappointing was Ch9. It's rather confusing and wordy. I didn't think it did a great job of explaining how to package up scripts into one file - it probably needs a few more chapters to explain it better and the author may have been struggling to squash it all in there.
Having said that. LOVED how small the book was - it was very refreshing and I got through it in less than a week. If you already have Nicolas other book Professional JavaScript and you're wondering whether to get this book - I would recommend you do. There is more than enough variation and new content and the chapters by other authors are a real bonus.
5.0 out of 5 stars
Great tips, quick and easy to read,
By Heath Roehr (Lincoln, Nebraska) - See all my reviews
This review is from: High Performance JavaScript (Build Faster Web Application Interfaces) (Paperback)
High Performance JavaScript is a quick 200 page read that is packed with several tips and tricks. Several of the techniques discussed in the book served as a review, and others were novel. I also enjoyed that the majority of claims were backed-up by charts and data from browser tests. All-in-all this book is worth the read and great to have on the bookshelf.
|
|
Most Helpful First | Newest First
|
|
High Performance JavaScript (Build Faster Web Application Interfaces) by Nicholas C. Zakas (Paperback - March 30, 2010)
$34.99 $23.09
In Stock | ||