Professional JavaScript for Web Developers by Nicholas C. Zakas

Professional JavaScript for Web Developers by Nicholas C. Zakas

Write Performant and Efficient Javascript
My review on Amazon

I bought this book the day after I attended a session given by Nicholas Zakas (author) at the Velocity Conference in San Jose this year. He offered some brilliant pointers and techniques on writing Javascript code that performs well and is efficient and stable on all browsers.

The book covers all aspects of Javascript in detail and approaches all subjects with an object-oriented mindset. From language basics (data types, variables, objects, functions) and event handling to the Document Object Model (DOM) and the Browser Object Model (BOM) to error handling and debugging to advanced features (custom events, drag and drop) and offline storage just to name a few. He also talks about AJAX, JSON vs. XML and HTML 5 and the new APIs it's bringing. There is also a brief history of language that is written in a much more informative way that in any other book I've read on the subject.

The book puts a lot of emphasis on performance and efficiency, especially when it comes to scope, memory management and algorithm complexity. You will finally learn and understand what closures are all about. You will know how some statements work in some browsers (IE is always the slowest browser.) You will learn a ton of stuff you won't find anywhere else neither online nor in a book.

There is also a section on best practices including maintainability, performance and deployment that I found especially useful.

If you are not a programmer AND just starting to learn Javascript, get Learning JavaScript, 2nd Edition. Otherwise, this is your book. It is essential in any respectable front-end developer's library.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s