Dynamic HTML: The Definitive Reference (2nd Ed.)
Goodman has tackled a complex subject. With changing standards and even quicker changing browser compatibility it can be a nightmare trying to get a dynamic web site working across disparate browsers and operating systems. A guide that tells you exact syntax and exact compatibility can be invaluable, but is only as good as the research behind it, an area where I cannot fault Goodman.
This volume covers XHTML, CSS and DOM with a large smidgeon of JavaScript. It's not an easy book to get into and consume in large chunks as it does little hand holding but as I was prepared to knuckle down and work at the topics (with much help from various web sites such as CSS Zen Garden) I found it perfect for me. Goodman has recently released JavaScript & DHTML Cookbook which I have found to be a marvelous volume to assist the process of understanding these technologies, though I am still looking for a good, up to date tutorial on CSS (recommendations welcome).
The target audience would be best summed up as those who have done a fair amount of HTML hand coding and some work in dynamic HTML. The book also adds that you should have "the basics of client-side scripting in JavaScript" and I would agree, when I first acquired this book my JavaScript skills were exceptionally primitive (mainly at the 'plug in example' stage) and found the latter sections of this book heavy going and not much help; now that I am a better JavaScript programmer I find these parts much easier to understand and use.
The book is divided into four parts, 'Applying Dynamic HTML,' 'Dynamic HTML Reference,' 'Cross References,' and 'Appendixes'. I found the first part particularly helpful when converting my old site across to a more dynamic CSS-based site as it helps with various strategies for making sure your content works across browsers and various methods for making sure that visitors with older browsers and search engines can still retrieve valid pages. Goodman's approach of increasing complexity through this part also suited a movement from a straight HTML site to one using XHTML and CSS. This is also where Goodman's writing can shine: it's an excellent guide to all the technologies and acronym soup. The appendices are marvelous, from 'A,' a list of colour names with their RGB value, through a list of character entities to a 50-page list of all HTML tags, their attributes and if they are supported in the two HTML 4 and three XHTML 1 standards.
The reference parts are well structured with extensive notes on browser support and which particular standard (DOM 1, DOM 2, CSS 1, CSS 2, or none) the tag or attribute comes from. For example, in the DOM section the reference gives you the object name, which versions of Navigator and Explorer support it, the DOM version (if any), a short explanation, then an object reference example, list of properties, methods and event handlers. For each of the properties it gives an example, the type and if it is read-only or read/write. For methods it gives the return value and parameters. This sort of attention to fine detail is taken throughout the book. You end up with a book 1343 pages long and a 51 page index. Goodman mentions in his preface that the book now encompasses 'more than 15,000 unique instances of properties, methods and event handlers,' a figure I'd believe.
O'Reilly have their usual page for this book that includes a sample chapter in PDF, the Index, Table of Contents and an Errata page. There are few Errata and only one in the code examples. Speaking of examples, you can download the complete set of code examples from the book.
There is also a page at O'Reilly for the author, Danny Goodman with links to some excellent articles and book excerpts on dynamic HTML and JavaScript.I found this a hard book to review, as are most references. The questions I asked were: one, Does the book cover all the material?; two, Is it correct?; three, Is it easy to find the entry you want? and four, Are the entries laid out in an easy to understand manner? In these criteria this volume rates well, with the added bonus of some good material in the first section for understanding the nuances of dynamic HTML in a multiple browser, multiple operating system world.
If you are doing a lot of work in dynamic HTML then this book is probably an essential. While I don't consult it every time I start working on HTML when I run into trouble it is the first place I turn to make sure my syntax and browser compatibility are straight. This book ain't cheap, and it ain't small but I'd recommend it for your desk if you're working with web sites.
You can purchase the Dynamic HTML: The Definitive Reference (2nd Ed.) from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.
If you need a good web site, I find these guys have a very good reference for JS, HTML, ASP, vbScript, CSS, XHTML etc, etc
"I can not bring myself to believe that if knowledge presents danger, the solution is ignorance" - Isaac Asimov
This book was already reviewed for /. here. Yeesh, can't anyone be troubled to do a quick search before posting?
For what its worth, I owned a copy of the first edition and liked it so much I bought a copy of the second edition before the review mentiond above.
- -
Are you an SF Fan? Are you a Tru-Fan?
don't remember, but i was going to pick this one up @ Barnes & Noble, but they said they dropped most of the information on older browsers from this edition... so i went for the first edition @ half.com for $20 or whatever instead.
This book covers a huge amount of material. After all, DHTML is just a name used for the interaction of a bunch of different things, and this book seems to try to cover all of them. I wonder whether Goodman is really an expert on all of it (or whether anyone can be). I'd be a lot more comfortable trusting a book like this if it were written by a group of authors with different areas of expertise.
Looking at what I can find about the book's coverage of CSS (which I know a lot about), I'm not optimistic. He seems to make up his own terminology, which can cause significant confusion in any public discussions. He uses the word "attributes" instead of "properties" (e.g., the CSS 'position' property) in the sample chapter available at O'Reilly. This is a mistake that's become very common these days, perhaps due to earlier editions of this book, and causes lots of confusion when people really need to discuss attributes (in HTML). The table of contents also shows sections titled by terms that he seems to have made up: "Common Subgroup Selectors" and "Advanced Subgroup Selectors".
It could be that he's decided he doesn't like the terminology used by the CSS specification so he's making new terminology. Such a decision has significant costs for communication between and among web developers and standards organizations. However, I fear it may not even be a conscious decision, but rather than he just doesn't know enough about CSS to know the correct terminology. (Not that I would expect any one person to be able to learn enough about all the topics covered in this book to be an authority on all of them.)
(If you want a good book on CSS, look for Eric Meyer's books on CSS, one of which is also published by O'Reilly.)
The parent poster is using a common pet peeve among /.ers while complimenting /. itself to obtain "Insightful" mod points. Please mod it with that in mind.
Yes, but he is still correct in that far too many websites are "over-designed" to the point of making the process of getting the info you want a painful task. Whatever happened to the KISS principle?I'm wondering if DHTML could be the next GUI platform. We always hear that the "browser is the next platform", but DHTML could really make it happen.
I recently programmed a groupware application with DHTML. Not the "little javascript trinket on my web site", but user interfaces created entirely by accessing the DOM, document, and window. There is no static HTML sent to the browser at all. It is entirely created in Javascript. A hidden window refreshes ever 5 seconds to pull GUI events from the server, and a client-side, DHTML event system processes the events to change the screen.
The result is a fully dynamic, non-refreshing (at least to the user) GUI that approximates traditional applications. Except it runs within the browser with no plugins and no installation. I didn't even realize how powerful it could be until the application was done.
For example, using a DOM/Javascript-based graphics library, we could create a diagramming application that ran fully within DHTML and the browser. No Flash, no Java, no extra plugins.
There's a lot of problems to overcome. I had to be extremely careful so it worked in Mozilla and IE6+. It's not *truly* real time, but it sure looks like it. The components aren't as powerful as traditional components.
Despite the problems, though, the benefits that it is pure web, no install, and standard browser can't be overstated. DHTML is really a powerful GUI language.
BTW, the reviewed book was invaluable to my creating the program. It is a must have for any DHTML developer.
This book is also available on Safari. Heck, three months membership covers the cost of the book :)
Here's what the book says about the Flamingo:
.......
---
Our look is the result of reader comments, our own experimentation, and feedback from distribution channels. Distinctive covers complement our distinctive approach to technical topics, breathing personality and life into potentially dry subjects.
The animal on the cover of Dynamic HTML: The Definitive Reference, Second Edition, is a flamingo. Flamingos are easily identifiable by their long legs and neck, turned-down bill, and bright color, which ranges from white to pink to bright red. There are five living species of flamingo, encompassing the family Phoenicopteridae. Flamingos are found in Asia, Africa, Europe, South American, and the Caribbean islands. Although wild flamingos are sometimes seen in Florida, they do not naturally nest in the United States.
In the wild, flamingos tend to live in remote, difficult-to-reach areas. In the suburbs, however, they stand guard over many a front lawn.
-------
So, really that doesn't answer your question, but I thought I'd note the book at least talks about it!
"There is more worth loving than we have strength to love." - Brian Jay Stanley
Hmm, have you actually seen this book? I don't care what precisely the title is - 'Dynamic HTML' is as good as any - but it's simply a superb reference and one of the top half dozen most commonly used books on my shelf. A more accurate title might be 'every single damm specification for HTML, DHTML, Javascript, CSS and evertying else connected with client-side browser behaviour exhaustively referenced, dereferenced and cross-referenced' - but that would be a bit long to fit on the cover.
I've had the second edition for several years and pre-ordered the second. It's *that* good.
<table style="border-style: solid; border-width: 1px;">
Looks identical in every browser supporting some basic css. IE6 too actully if you put it in standard compliant mode. Put this first in your file:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Strict//EN">
>I'm quite aware of how to use CSS. I'll repeat: if that's not what I code, that's not what I want.
But your HTML markup defines a table, nothing else. It's up to the browser how to actually render it on-screen (and it's always been that way).
>I'm not gonna add extra crap to my webpages when i shouldn't have to. if people want 3D borders they can make them themselves.
You have to add "extra crap" if you want a specific visual.
You're actually complaining about your own lazyness. Get over it and add what's needed.
[snip]
Look at Slashdot.
Yes, look at Slashdot. The geek site that is so ashamed of it's HTML, it blocks the validator.
If you try a different validator site, you find there are over a hundred errors on the front page.
Lead by example?
Avantslash - View Slashdot cleanly on your mobile phone.
When I was first approached by O'Reilly to propose new covers for their books, I was immersed in the VAX/VMS world of Digital Equipment Corporation. I had heard of UNIX, but I had a very hazy idea of what it was. I had never met a UNIX programmer or tried to edit a document using vi. All of the terms associated with vi, sed and awk, uucp, lex, yacc, curses, to name just a few, sounded to me like words that might come out of a popular game called "Dungeons and Dragons." I developed a mental picture of the UNIX programmer as a "Dungeons and Dragons" player. As I started to look for imagery for the book covers, I came across some wonderful wood engravings from the 19th century. The strange animals I found seemed to be a perfect match for all those strange-sounding UNIX terms, and were esoteric enough to appeal to what I believed the UNIX programmer type to be.
When I presented the first animal covers to the people at O'Reilly, they were a bit taken aback.
"But they're so ugly!" said one.
"No one will want to pick these up!" said another.
"They're scary!"
Tim liked the quirkiness of the animals, and thought it would help to make the books stand out from other publishers' offerings. Today, the O'Reilly animal brand is well known all over the world.
Taken verbatum from here
Two Rules For Success:
1) Never tell people everything you know.
I use two references for CSS.
The first is the book Cascading Style Sheets- 2nd ed: Designing for The Web by Hakon Wium Lie and Bert Bos. From what I understand, these two guys basically invented CSS. You can find it on Amazon and at the publisher, Addison-Wesley.
(BTW, I've never been disappointed by an AW book. They're up there with O'Reilly in my mind.)
The other resource is on the web, the ZVON.org CSS1 Reference and CSS2 Reference.
The book has a couple minor shortcomings (you can read about them in Amazon's customer reviews). Those shortcomings are overwhelmed by 1) the authority of the authors, 2) the functional organization, and 3) the readability.
The authors know their stuff. They invented the technology for crying out loud.
The book is organized by function meaning typography control is one chapter, positioning is another, and so on regardless of which standard the property comes from or which browser supports it. This book is where you go when you can't remember, or need to learn, how to do something.
(There are notes for each property on browser support, but they are outdated. For that quickly changing information I recommend The Noodle Incident's CSS Panic Guide Browser Reference.)
The author's use a very readible voice. The examples are a bit simplistic but functional and they express the concept.
I like ZVON.org because it offers a no nonsencse reference. It's basically a clean cut dictionary of CSS. No other site I've seen is as quick to provide the answer for which you are looking. Use it when you need to refresh yourself on the exact order of values for shortcut properties (like background , font , etc.).
obviously no deficiencies vs. no obvious deficiencies
And the browser is free to render that border any way it chooses to according to the 4.x specification. For example, if you put <table border="1">, the browser may make just a 1-pixel line. But then it may also have a built-in rule that the default for tables is a 3-d look, in which case, it will attempt to render your 1-pixel border with a 3-d look, which ends up looking strange if you have a white background (the left and top disappear).
The spec can be found here along with other cool stuff.