Developing with Web Standards

Author: John Allsopp
Publisher: New Riders
Pages: 432
ISBN: 978-0321646927
Aimed at: Self taught HTML implementers
Rating: 4
Pros: Readable coverage of some basic ideas
Cons: Not a sophisticated approach to development
Reviewed by: Ian Elliot

 

Web standards - we should all use them but the reality is rather more complicated. The message of this book is separation of concerns - HTML for semantics, CSS for presentation and Javascript for behaviour but does it paint a coherent picture?

 

Author: John Allsopp
Publisher: New Riders
Pages: 432
ISBN: 978-0321646927
Aimed at: Self taught HTML implementers
Rating: 4
Pros: Readable coverage of some basic ideas
Cons: Not a sophisticated approach to development
Reviewed by: Ian Elliot

Web standards - we should all use them but the reality is rather more complicated. The message of this book is separation of concerns - HTML for semantics, CSS for presentation and Javascript for behavior but does it paint a coherent picture?

This book is essentially a guide to the modern use of HTML for semantic markup and CSS for layout. As such it isn't really ground breaking or revolutionary. It also doesn't really tackle the problem that we all face which is working with browsers that don't implement a consistent standard and the fact that standards are something of a moving target.

Its main theme is the division of concerns into semantics, presentation and behaviour. As already mentioned the semantics is taken care of by the HTML, the presentation by the CSS and the choice for behaviour is Javascript. This is by no means the only possible division. As any Flash, ASP .NET, PHP or Silverlight programmer to name just four alternative technologies to perform the division and the answers would be very different. So as long as you accept the author's very basic choice of HTML, CSS and Javascript as the three standards-based technologies for web development you won't be too disappointed in the focus of the book.

It starts off with a nice account of the overall philosophy - use HTML to characterise your text and then use CSS to determine how it looks. For example, the <strong> tag marks up text that should be emphasised but doesn't determine how the layout should display the text. Interpreting the <strong> tag, i.e. determining how its text content should look, is a matter for CSS.

This idea is put over reasonably well in the first few chapters as part of an introduction to HTML and CSS. If you already know about either of these topics then you might will find the content too familiar. However, if you have just "picked up" your HTML or CSS then this will indeed fill in the gaps in your knowledge.

It then moves on to consider the DOM and this is where things get more complicated. The author doesn't really present any good explanation of why the DOM is different and important. Indeed occasionally the point seems to have been completely missed. For example, in a discussion of the controversial use of the innerHTML property lots of reasons are given for using it and for not using it but the main reason is ignored. The DOM is object oriented and takes us away from HTML tags. The innerHTML property brings us back to HTML tags and the string processing approach to implementing "behaviour". InnerHTML is not good because it's not very high level.

The rest of the account of Javascript is also a little frightening with comments about not to worry if you can't program because it will all make sense. This is the way bad websites get built. The advice should be that if  you are not a programmer then you should go away and learn the basic skill of the trade or take up another job.

From here the book wanders off into other topics that are of interest to the author - accessibility, browser incompatibilities, best practices, CSS based layouts and so on. Then we are treated to HTML  5, CSS 3 and the future, web fonts and SVG and canvas - two of the most problematic areas of graphics on the web at the moment as neither are widely supported in a uniform way.

Overall this is a good read if you are self taught or don't know about the idea of separation of concerns and especially the idea of using HTML for semantics and CSS for presentation. The book is less well equipped when it comes to behavior and the treatment of the DOM and Javascript is weak and lacks understanding. If you are looking for a book about web development, standards-based or not, then you probably need something more sophisticated.

Banner


Modern Software Engineering (Addison-Wesley)

Author: David Farley
Pages: 256
ISBN: 978-0137314911
Print:0137314914
Kindle: B09GG6XKS4
Audience: Software Engineers
Rating: 3.5
Reviewer: Kay Ewbank

This book is subtitled 'doing what works to build better software faster' - does it teach you how to achieve that?



Artificial Intelligence and Expert Systems (Mercury Learning)

Authors: I. Gupta & G. Nagpa
Publisher: Mercury Learning
Pages: 412
ISBN: 978-1683925071
Print: 1683925076
Kindle: B087785GZM
Audience: Technically able readers
Rating: 4
Reviewer: Mike James
Expert Systems, anyone?


More Reviews

Last Updated ( Saturday, 10 April 2010 )