 |
Book Reviews of JavaScript: The Definitive GuideBook Review: The Indispensable Reference - A Worthy Upgrade Summary: 5 Stars
The previous edition of this book, 4th edition, remained at arm's length at all times at work and rescued me repeatedly from various day-to-day JavaScript challenges. It has become tattered from rigorous use. I always loved how the book was organized, with the first half as a walk through the entire gamut of JavaScript's workings -- tutorials, walk-thrus, code samples, cross-browser issues, and practical solutions -- and the second half of the book as a complete JavaScript language and DOM reference. That already very useful format has actually been improved upon. David has combined the DOM API reference and client-side JavaScript reference into a single alphabetized section. Now that I think about it, I did find myself flipping back and forth a lot in the previous edition, so this is a welcome improvement. Each object, property, and method contains a helpful "availability" of that item. This may be the standards spec it came from [DOM Level 2 HTML, ECMAScript v1], the JavaScript version in which it emerged [JavaScript 1.0], or a list of browser versions, if it is a proprietary feature. This is critical info to have at-a-glance - could perhaps save you 2 days of work implementing a non-standard, IE-specific JavaScript feature, when you could have been coding the standards-compliant equivalent. David has removed a lot of the deprecated, not-widely-adopted DOM interfaces that no longer apply to modern browsers. David has also moved focus away from some of the more oddball DOM interfaces that have been replaced by more sensible JavaScript objects that implement those interfaces, for example, window.getComputedStyle() rather than AbstractView.getComputedStyle(). In other words, David has removed all of the "stuff that still exists, but you no longer need to worry about". This makes for a more focused, less cluttered, "on topic", useful tome. I don't need to know about the 10 different methods that browser manufacturers fought over 7 years ago. Tell me what I need to know NOW to write practical, functioning, modern, cross-browser JavaScript. That's exactly what Mr. Flanagan has accomplished.
What else is new in the 5th edition?
1. Nested functions and closures.
2. A dedicated "Classes, Constructors, and Prototypes" chapter, with much more coverage on object-oriented programming in JavaScript.
3. A new chapter on Modules and Namespaces.
4. New chapter on scripting Java with JavaScript.
5. Coverage of the legacy (Level 0) DOM has been combined with the W3C standard DOM. More consolidation. Less flipping back and forth.
6. Cookies and Client-Side Persistence. Updated coverage on cookies, and brand new coverage of other client-side persistence techniques, like IE userData persistence, and Flash Shared Object Persistence.
7. AJAX - Coverage of scripted HTTP calls using the now famous XMLHttpRequest object.
8. XML - Demonstrates how to create, load, transform, query, serialize, and extract info from XML docs.
9. Client-Side Graphics - JavaScript's graphics capabilities. The cutting edge <canvas> tag, SVG, VML, and communicating with the Flash plug-in.
10. Scripting Java Apps and Flash Movies - Another brand new chapter.
So, is the 5th edition worth the purchase? Absolutely. This book is a must-have for any web development library. I turn to it repeatedly. Here's an example.
Last week, I overheard a developer on my team proclaim to someone, "We can't do that. JavaScript can't control stuff in another frame." They went and informed my boss how monumental their task was becoming as they proposed a hacky, inelegant server-side workaround.
I managed to grab the one developer and said, "JavaScript certainly can talk across frames."
"Really?!", he asked, astonished. I opened "The Definitive Guide" to the part on cross-frame scripting and bookmarked it for them.
"Oh, wow! GREAT!", he exclaimed, "That completely solves our problem. Totally cool!" and zipped away book in hand. Hours later, they had it worked out, rather than days with the server-side solution.
I've seen some one-star, complaint-type reviews posted that this isn't a beginner book. Exactly right, but I'm confused as to how a quality rating [of 1 to 5 stars] equates, in any way, to skill level of the book, or its ability to meet someone's self-conceived personal notions of what the book is supposed to contain. There are some overview-type chapters that go over syntax, operators, scope, expressions, and the usual array of language basics, but these reviewers are correct in that this book is not a beginner's tutorial on JavaScript. It is a meat and potatoes, soup to nuts definitive guide and reference on all of the important and practical aspects of JavaScript programming. It is not a cookbook of cute-but-useless cut-n-paste recipes [although there are plenty of USEFUL code examples]. It is not the quick-and-dirty example of how to slap the hottest AJAX library into your site to attempt to make it behave like a Windows app. The chapter on AJAX shows you how to use the XML HTTP object directly, wrapped up in some nice reusable routines, so you can WRITE YOUR OWN AJAX-based features [which I prefer over using someone else's complicated, obfuscated framework].
Great job, again, David! If you develop websites in any capacity, you need this book. It should be on every developer's shelf.
Book Review: A work of art Summary: 5 Stars
I feel that this book is really a work of art. Besides agreeing with the last reviewer that it is not fair to consider this as a book for beginners and then judge it against that standard, I'd say that even though it is not for beginners, it does not make unnecessary arcane references, etc. It is very readable, at least for someone who's had a little experience working with JavaScript. I'd say it is not even a requirement to know object oriented principles (except for those sections perhaps). The author has not only made intelligible so many of the quirks of JavaScript, but provides code which is easy to follow yet extremely useful.
As far as examples, while for JavaScript fans, it might have been nice that the book expanded into 2000 pages instead of almost 1000 that it is now, the author does, I feel, what is necessary to both explain and demonstrate the concepts, and most often, does so by creating VERY useful utility functions and "classes". Just for the utility functions alone, the book would be worth it, really. There are only a very few places where the author suggests to look elsewhere, and besides my not minding doing so given how the book already saved me so much time, the cited references would have taken up unnecessary space if the author were to include them (and they definitely weren't essential).
The book is not outdated! Unlike other books, most of the book is rarely tied down to code that can become outdated as browsers change (like the changeable but helpful quirksmode.org ). Of course, as a big fan of this book, I hope the author will be persuaded to keep making new editions (and make a hardcover!). If you really want to learn the language, this is THE book.
This book was no doubt an immense labor of love--you can feel the author is human, actually teaching, and is not trying to show off with terminology while he still does explain a whole lot of necessary terms, etc., comments the code well, etc. As with art (not the strange modern variety either), I am flabbergasted some people cannot appreciate its beauty. In a complex JavaScript application, I am building, I am using no less than 7 of the utility classes he provided in the book.
For those studying JavaScript in depth / reading this book, I'd recommend one supplement to the book: the informative articles at http://javascript.crockford.com/ (and no doubt that author's book too). The articles on private members and classical vs. prototypal inheritance are one area I felt for which additional examples and use of terminology was helpful, and allowed me to appreciate and understand the chapter in the book on classes more fully (and utilize the approaches in its utility classes as well).
Book Review: A classic JavaScript reference... Summary: 5 Stars
There are a few books in the IT realm that are classics... ones that have gone past their second or even third edition. This is one of them... JavaScript: The Definitive Guide (5th Edition) by David Flanagan. I like this comprehensive JavaScript reference manual much more than others that I have on my shelf.
Contents:
Part 1 - Core JavaScript: Lexical Structure; Datatypes and Values; Variables; Expressions and Operators; Statements; Objects and Arrays; Functions; Classes, Constructors, and Prototypes; Modules and Namespaces; Pattern Matching with Regular Expressions; Scripting Java
Part 2 - Client-Side JavaScript: JavaScript in Web Browsers; Scripting Browser Windows; Scripting Documents; Cascading Style Sheets and Dynamic HTML; Events and Event Handling; Forms and Form Elements; Cookies and Client-Side Persistence; Scripting HTTP; JavaScript and XML; Scripted Client-Side Graphics; Scripting Java Applets and Flash Movies
Part 3 - Core JavaScript Reference
Part 4 - Client-Side JavaScript Reference
Index
Flanagan has the somewhat rare opportunity to update a book that deals with a technology that is actually mature, stable, and pretty well implemented by all the browser clients. Trying to writing this book in the late 90's would have been an impossible nightmare. Now the core JavaScript language has solidified, making it easier to decide what chapters work and which ones need tweaks. It also allows the author to add chapters that touch on new ways that JavaScript is being used today, such as Ajax. Once you get past Part 1 (the core reference/tutorial information), you learn how JavaScript can be leveraged in ways that weren't envisioned until recently. In particular, there was some interesting material on cookies that I haven't seen anywhere else. Parts 3 and 4 are the sections where you'll spend most of your time looking up those pesky parameters you can't remember on a day-to-day basis, and the layout is very easy to follow and find what you need. I liked it a lot...
I have a different JavaScript reference manual at work, but it's never been one that I've relished having to use. This volume is slated to take over that shelf space next week... Great job.
Book Review: Flanagan Deserves a Medal! Summary: 5 Stars
This review refers to the fifth edition of a book that was first published a decade ago. The fact that the book has remained popular for ten years and has gone to a fifth edition is testimony to its greatness.
If there were such a thing as a medal for lifetime achievement in technical writing, David Flanagan would surely be a leading contender.
Various editions of the book have been reviewed by key players in the JavaScript community, including Brendan Eich (inventor of JavaScript and CTO of Mozilla), Douglas Crockford (creator of JavaScript idioms for inheritance and scope), and Norris Boyd (creator of the Rhino JavaScript interpreter).
The best Ajax book on the market ("Ajax IN ACTION," Dave Crane et. al., Manning, 2006) contains an appendix on JavaScript that refers to this book as "the definitive work."
The book is divided into two broad sections: discussion and reference. Each section has two parts: core and client-side.
The core chapters cover language features such as data types, variables, expressions, operators, statements, objects, arrays, functions, classes, constructors, prototypes, modules, namespaces, and pattern matching.
The client-side chapters cover the use of JavaScript running in a browser to script browsers, HTTP (Ajax), documents (DOM), CSS, DHTML, graphics, Java Applets, Flash movies, and Java.
As the above indicates, JavaScript is not only an important technology in itself, it is also the key enabling technology for Ajax, DOM scripting, Dynamic HTML (DHTML), and Adobe Flash. And this book is THE BEST source for laying the necessary JavaScript foundation.
Furthermore, beginners need not be intimidated by the size of this book. Chapters 1 and 13 combine to make an excellent JavaScript primer or introduction. The remaining chapters are ready and waiting for when you're ready to dive into deeper waters.
This is THE BEST JAVASCRIPT BOOK FOR ALL LEVELS - beginner to advanced. PERIOD.
Book Review: An excellent cohesive reference, truly the definitive guide to JavaScript as we know it Summary: 5 Stars
This book is a fantastic reference. So many technical books typically live short lives, we use them once on a single project and never touch them again, however David Flanagan's JavaScript: The Definitive Guide has clear value and longevity.
This book provides 350+ pages of reference material for the Core JavaScript Language and Client-side JavaScript (the online Mozilla Developer Center is one of the few references that comes close to this level of comprehensive reference). In addition to these 350+ pages of reference material, there are 500+ pages of dialog that linearly walk us through the JavaScript fundamentals into more complex concepts. This books huge size (900+ pages) can be daunting, and is one definite drawback. Its sweeping breadth of topics (from JavaScript language operators to using Flash with JavaScript) can be both informative or confusing - reading JavaScript: The Good Parts (140+ pages) concurrently will certainly complement your understanding of JavaScript.
In short this book is the most complete references for JavaScript as we've come to know it, it covers JavaScript from A-Z, it's permeated with good advice - and for good reasons too, this is its 5th Edition, it has been recognized as one of the best books in JavaScript, and has been reviewed or edited by some of the JavaScript greats: Peter-Paul Koch (ppk on JavaScript), and Douglas Crockford (JavaScript: The Good Parts) to name a few.
I highly recommend this book, and am looking forward to Flanagan's newest book The Ruby Programming Language.
More Customer Reviews: 1 2 3 4 5 6 7 8 9 10 ›
|
 |