Dynamic HTML The Definitive Reference (2nd edition)
What's in the book?
The book is not an introduction to DHTML but it does have an 183-page section on Applying DHTML that covers not only the current state of the art but also gives clear guidance in making use of all the features. The guidance is of a good enough standard that a firm's Quality program could simply cite this book as the basis for the web development standards that a team adopts. Goodman makes it very clear that he is not going to discuss the DHTML that Navigator 4 introduced, the <layer> tag and JavaScript style rules, but points out that they are covered in the first edition should you really need to know.
The layout of the book is the same as the first edition, with the reference sections divided into HTML, DOM (Document Object Model), CSS (Cascading Style Sheet) and JavaScript. A new section for Events also makes an appearance. The reference sections on HTML and DOM have sub-sections that precede them on the shared attributes of all elements. These are particularly useful and I think should be committed to memory.
There is also a very curious Cross Reference section that has an HTML/XHTML attribute index and a DOM property, method and event handler index. It takes each HTML/XHTML attribute and shows which elements support it and then each DOM scriptable object property, method and event and which objects support it. I'll confess I've never had any call to use this section but I can see how it could come in handy -- and it hardly takes up much dead tree.
The upper limit of standards coverage is HTML 4.01, XHTML 1.1, CSS Level 2, DOM Level 2, and JavaScript (or ECMAScript) 1.5. The browsers considered are IE6 (Windows), IE 5.1 (Mac), Netscape Navigator 6 and 7 and Mozilla 1.0. Opera is also mentioned in the section on Applying DHTML in that it mostly follows the IE DOM. The timeline for any element can go back as far as HTML 3.2, Navigator 2 or IE 3.
As you would expect, there are some useful appendices: Color Names and RGB Values, which I expect to be using more now as sites are required to meet Accessibility guidelines; HTML Character Entities, for when you don't have a copy of Macromedia Dreamweaver or when your favourite HTML editor doesn't have a complete list; Keyboard Event Character Values, for your scripts when you want to catch all those key presses; Internet Explorer Commands, which along with the MSHTML.dll can allow the creation of a very neat content editor quite quickly and easily; and finally, an HTML/XHTML DTD Support cross-reference that may help catch validation errors as you move from an HTML 4.01 Transitional DTD to a full-on XHTML 1.0 Strict DTD.
What makes it worth having?The quality of Danny Goodman's writing is both technically accurate and easy to read. The clarity and lack of fluff is good, but there is no skimping on detail where such is needed to illuminate a point. Let's face it: web development is not as complex as most software engineering or systems development tasks, but it is a discipline with quite a wide base, reflected in the 1400 pages of this tome. I wouldn't trim any of it, however, and I expect that after about a year of use I will have referred to a good proportion of the contents. Take, for instance, Goodman's estimate that there are more than 15,000 unique instances of properties, methods, and event handlers supported by numerous document objects and you get an good impression of the size of the documentation required.
The book could be regarded as two books in one: There is the Applying DHTML book and the Reference book. The best things about the reference sections are the excellent descriptions, the clear little examples, and especially the quick summary of where you can expect these things to be supported. Referring to this book is the simplest way to avoid going down the proprietary browser extension cul de sac.
The Applying DHTML section is worth reading all the way through. It is great for getting yourself into the various technologies and seeing how they are meant to work. There are interesting points made on how each of the technologies are evolving. There's material contrasting the various DOM implementations and there are chapters on style sheets, positioning in CSS, making the content dynamic (of course, this is what DHTML is all about, after all) and scripting events.
There is a very useful cross-platform API for DHTML (which can be downloaded as a zip file along with the other examples from the book on O'Reilly's web site). I've used the version from the first edition quite a lot, and I've used the new version in my most recent work. It doesn't rely on browser version sniffing, but rather on object detection, which is explained with some examples, and can be easily extended to handle any DOM call you may wish to make. The API is especially useful for any CSS positioning tasks you may have. Goodman also goes over other strategies you can adopt to make your sites cross-platform, such as page branching, designing for a common denominator, and some other, neater, solutions.
There isn't anything on Accessibility other than a single paragraph drawing your attention to the Web Accessibility Initiative (WAI). DHTML and Accessibility could be considered inimical but that isn't the case and I'd perhaps have liked to see this elaborated on with some suggestions on how to achieve an Accessible site while still using DHTML. In practice, however, I've found it easy to meet the Priority 1 checkpoints (or A rating) set by the WAI even with a complete DHTML site so perhaps this is not really an issue.
I find this book really useful. I can't imagine any web developer doing without this book and managing to produce a good cross-platform solution, and I also can't imagine that developer needing any other texts on any of the technologies covered here. I certainly don't have any others on my desk today.
The O'Reilly web site has a complete Table of Contents available. You can purchase Dynamic HTML The Definitive Reference from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.
This book, as he says, "is not an introduction to DHTML". If you are looking for a book to get started with DHTML, I highly reccomend Essential CSS and DHTML for Web Professionals (2nd Edition), by Dan Livingston. I learned most of my DHTML fundementals from the first edition, and recently purchased the second edition as well. This is a very short book, an unlike many of its kind, can be read almost in "novel" form to get a basic overview without getting bored. You can then go back and try the examples, and actually implement some DHTML. Without a doubt one of the best web development books I have gotten.
-Pete
Soccer Goal Plans
As I just stated, the first edition was a great book and it has never left my desk since the day I bought it. If your a serious web developer or just a part time page monkey, this book (the first or I guess now the second edition) is for you. Hard to go wrong buying an O'Reilly book.
An optimist believes we live in the best world possible; a pessimist fears this is true.
figure out if any DHTML techniques have become standards.
DHTML means manipulation of the HTML DOM through ECMAScript. The HTML DOM is a W3C Recommendation, and ECMAScript is a European international standard.
Will I retire or break 10K?
Although I consider the parent thread flamebait, I will respond anyway. The book is not just about DHTML, it is in fact a very good reference for HTML, CSS, and Javascript which are used every day by most web developers. The book outlines which tags are supported by what browsers and thus allows you to create a site that is accessable by all. The book is good for anyone who does or doesnt use DHTML just due to the fact that is is a general reference book.
An optimist believes we live in the best world possible; a pessimist fears this is true.
Other authors may do more for back end programming in your specific back end platforms and tools of choice, but you won't do much better than these two for front end browser programming.
...Open Source isn't the only answer -- but it's almost always a better value than the alternatives...
Cheers,
Ian
DHTML is dependant on two things: (1)browser ECMAScript compatibility and (2)the browser's DOM. ECMAScript Core is implemented 100% correctly as per the spec on most modern (version 5) browsers. The problem is the DOM. The Gecko and IE engines both support the W3C DOM spec but there are still some minor differences. DOM Level 2 is not yet 100% implemented on either browser engine afaik. The other problem is that HTML also depends on event bindings to the DOM. Mozilla implements the W3C DOM-Events model, and IE uses its own event model.
Besides the major two browsers, Opera does in fact implement a great deal of DOM Level 1. I'm not up to date on Konqueror but last I checked it supported a good chunk of DOM Level 1. DHTML on Macs is relegated mostly to IE for Mac, but beware, it acts differently from IE for Win. You need to test them as two separate browsers. I haven't checked iCab lately, but last year it was beyond hope. There's also Chimera, a Gecko port, which should act the same as other Gecko engine browsers. Some people are still using Netscape 4 and you're stuck with a layers DOM there, totally different from any other DOM.
So it really depends on what browsers you are targetting and what kind of things you want to do. DOM Level 1 is about as close a standard as you can get, but you're still going to have some browser-specific code.
Looks like /. junked my link on Section 508 in the previous post.
And bookpool has it even cheaper ($36.50). I don't work for them, just a very happy customer. For any IT/CS type books, bookpool is cheapest probably 90% of the time...
-Gabe
I develop DHTML applications for a living (never read a book by Goodman either lol) and I find Mozilla to actually be superior to IE when it comes to DHTML.
The problem is that many people use the DOM that Internet explorer has or mixes up old Netscape 4 DOM in Netscape 6/Mozilla instead of the standard set by the W3C. Try putting a honda key in a ford see if that works.
Truth is if you stick to w3c standards Internet Explorer gives you headaches.
DHTML was relevant when it appeared with the advent of 4.0 browsers and it is even more today because there is more coherance
A truly interactive site will require server side processing of information if it wants to be of any value. DHTML allows you to present information in a way someone can interact with it (sorting a table of data on the client side, form validation, having mutliple layers of information on a page).
DHTML becomes essential in web applications like a billing software that doesn't require software to be installed on the client side.
Something going against the usage of DHTML is the browser war and support for standards still not being as respected as Mozilla. Netscape 4 is the worst thing that happened to DHTML. It made lots of things impossible to do or hard to do. Anyone still using NS4 should upgrade to allow developers to create real web sites. Another thing going against DHTML is the fact that lots of people begin programming with it and too many beginners try useless flashy things that hurt the people that can actually do nice things in DHTML.
The last web application I did for www.b-process.com processes bills eletronically and uses a web interface compatible with IE4 and up and Mozilla/NS6+. Lots of features like attaching a note to a bill are achieved through the usage of DHTML. Another interesting thing was that we save download time by sending only bill data instead and let the DHTML layer format the information on the client side saving up to 80% of bandwith.
DHTML is relevant today and will be more once NS4 is dropped completely. I'm glad I could answer your question! :)
Then the first one wasn't THAT definitive!!
Articulos para gente geek: Poleras, linux, libros y mas
Don't click on the above Amazon link either. Amazon is well known for their abusive business practices, and the link is for the poster's affiliate program. Instead, use Bookpool - $36.50 there.
The best thing about a boolean is even if you are wrong, you are only off by a bit.
I'm not so up to date what's the current state of the art, but some years ago, when I was applying DHTML, I always found Dan Steinman's Tutorial Dynamic Duo very helpful (thanks Dan!).
It has been continued as DynAPI
Sometimes an even better approach would be to study the code existing out there first, such as the excellent code offered up by exitfuel. One of the most important pieces of code is the window.open function, and onload and onleave of the body element. Once you have them mastered, along with the Document Model of Objects, you have a good grounding for some serious Flash programming. There are some pretty intense workarounds necessary for some of the mechanisms that people have in place nowadays, but it's definitely doable! Good luck!
tag- Why don't most girls like programming?
I am looking to accumulate friends. Please click on the circle and add me as a friend. Thanks!
DHTML is particularly relevant, in my experience, with generating dynamic forms.
As an example, I've recently created a page that allows the creation of price structures. Price structures have a start date, an end date (which may be null), 0 or more surcharges (name and $)and 1 or more price breaks (min qty, max qty, unit cost). Also, each price break may have 0 or more surcharges (name and $)
Building this with static HTML and server side scripting could require many trips back and forth to the server... this isn't very good from a users perspective.
Instead, I used dynamic HTML to do it all in one page... the form is created on the fly, and modal dialogs are used when entering data to keep the interface clean. Clicking a button to add a price break opens a modal, fetches the details back from the modal, creates another table row, fills it with text showing what you've added, hidden input fields holding the data, an "add surcharge" button, and a "remove" button that deletes the table row (along with the hidden inputs it contains)
You can easily add, edit and remove as many items from this form as you wish, and once you've tweaked the price structure the way you want it, the server breaks it all down and salts it away in the database.
The whole thing is very usable, reusable, and efficient, and could not have been made without DHTML and JavaScript.
-1 Uncomfortable Truth
Lots of good DHTML examples by Jeff Rule at http://www.ruleweb.com/dhtml/ He also has a book
...you'll never know.
Perhaps you should watch Animal House.
Wooden armaments to battle your imaginary foes!
Looking at the cumulative weblogs for my site (8/2000-10/2002), 65% of the visits are from one version or another of IE. Netscape 4.0 seems to have a pretty high hit rate (5.5%), but I think that's me hitting it with Chimera all the time. The rest is kinda evenly spread out with old versions of Netscape, Googlebot, Gulliver, [unknown], and MSProxy.
Looking at the most recent quarter, however, things are a bit more dire, with various flavors of IE accounting for 80% of the visits. Various flavors of Netscape account for only 9.8%, with Googlebot, Ask Jeeves, etc, taking up the rest.
The war may not be over, but I wouldn't get too cocky about who's winning just yet.