The Modern Web

This book introduces the reader to a wide range of new web technologies. In most cases there is little more than an introduction to each topic and the order in which the topics are covered appears somewhat random. Also with some of the topics the author's choice of what they consider to be important is their personal opinion based on a limited knowledge of the particular topic and in some instances is not even new. If you want an introduction to some of what is being made available for the web then this book will tell you about a wide range of technologies that are currently being developed but if you want to look at any of them in enough detail to actually use them then you'll need more information than this book provides.

My Rating: yesyesyesnono (HTML and CSS = 4, JavaScript = 1)





The very first sentence of the introduction to this book immediately gives me the impression that the author does not know much of the history of the web. The suggestion is that this is a time of unprecedented innovation on the web and yet if you go back to the time when Internet Explorer began to challenge Netscape (who at one point had over 95% of the browser market) you find a period where there was at least as much innovation - so much in fact with the introduction of a range of incompatible proprietary tags that it almost became necessary to create two versions of each web page so as to cater for users of both competing browsers. The current period is more controlled with an attempt to have a standards committee make decisions on which alternatives to adopt rather than leaving it to those actually using the web to choose between browsers.

The way that the author attempts to define what HTML 5 means is confusing. There is the admission that some people use it as an umbrella term for a range of new technologies - many of which the author covers in the book - but some of the suggestions on what the difference is between HTML 5 and HTML 4 are wide of the mark. The joking suggestion that sudstituting a short doctype and specifying a utf-8 charset makes a web page HTML 5 is misleading unless you already know that those two changes are equally valid for HTML 2. In the first chapter the author clearly demonstrates just how confusing and misleading much of the new web features are without making it clear that the confusion is in the way that the technologies are defined rather than the way the author is describing them.

Once you get past the first chapter things start to become more useful. This chapter covers a range of new standards for producing more semantic markup and also gives an indication of how well each is supported in current browsers.

The third chapter goes into detail on how media queries work and also information about the way many modern devices define pixels that will make it clear that much of what many people thought they knew about defining sizes for web pages is wrong. It then goes on to cover new CSS properties that make designing your page to fit a wider range of viewport sizes much easier such as box-sizing, calc, and percentages that are relative to the viewport rather than the parent object. The issues of making image sizes responsive is then dealt with by showing how the alternative values for object-fit and object-position work.

Chapter four continues on with additional options that CSS 3 makes available including multiple columns, flexbox, and grid layout (an example of where at least one browser has implemented an older version of the proposal - in this case IE10 has implemented it using old versions of the property names - something that is not as bad as when IE5 implemented an early version of the CSS 2 box model resulting in the introduction of quirks mode and the misuse of the doctype). Most of these options are quite some way from becoming a standard and are subject to change - which the author does mention at the end of the chapter.

Chapter five brings us to JavaScript and here the author has decided to mention just a few of the things that in his opinion are most important. Here I disagree with much of what he claims. The async and defer attributes and DOMcontentLoaded event that are mentioned early in the chapter were basically made obsolete when it was realised that browsers allow JavaScript to interact with the DOM while the DOM is still being built and so JavaScript can be attached to the bottom of the page and work exactly as those attributes and event would allow without needing the new code at all. The mention of add and remove event listeners is correct as far as it goes but this has been the standard for about ten years already and the author ignores the fact that there are still people using Internet Explorer 8 which supports JScript instead of JavaScript and so uses attachEvent and removeEvent instead. The Input Event section is the first part of the chapter to actually introduce something new that relates to what is in the other chapters although as pointed out, it is just a proposal at this stage. The section on querySelector and querySelectorAll fails to mention that these two methods take a snapshot of the DOM as it is currently and so are slower than getElementById and getElementByTagNames that interact with the live DOM - these too became a part of the standards a couple of years ago and so is not new. The section on JavaScript Libraries would probably have been better dealt with as a separate chapter as it has nothing in common with the rest of the content of the JavaScript chapter.

Chapter six continues on with more JavaScript that became standard a couple of years ago covering such things as geolocation, orientation, fullscreen, vibration, battery status,network information - most of which use extensions to the navigator object. There is then a brief introduction to web storage and to drag and drop functionality. In each case there is little more than an introduction to the command and no coverage of anything proposed to be added to JavaScript the way most of the book covers what is proposed for to be added in future versions of HTML and CSS.

Chapter seven covers SVG and canvas.

Chapter eight returns to HTML 5 and covers the new form field types including how they can interact with both JavaScript and CSS. This is perhaps one of the more useful parts of the book as it goes into a bit more detail than many of the other sections.

Chapter nine covers multimedia reasonably well showing how to use the new video and audio tags, how to handle multiple file formats to provide cross browser support, use of the object tag for a flash fallback as well as some of the new JavaScript commands for interacting with video and audio.

Chapter ten gives an extremely brief and somewhat jumbled introduction to web apps.

With the prior chapters having covered many things that are still just proposed for addition into the appropriate web languages with many not yet being supported by all browsers, the last chapter moves further into the future to introduce options that are even further from being implemented. As the previous chapters have been dealing with things that have either just become a standard (or in the case of some of the JavaScript has been for many years) or are expected to become a standard in the next few years, it makes little sense to me that this chapter covering things that no browser (or possibly only one browser) currently supports and which are a long way from becoming a standard seems pointless. The only thing that the chapter even mentions that is expected to become a standard soon is the new version of JavaScript and that is barely mentioned - all of the actual content of the chapter deals with proposed HTML and CSS that is many years from becoming a standard.

The two appendices cover which browsers currently support what features discussed in the book and suggestions for further reading respectively. Given the brief coverage of many of the topics mentioned in the book the appendices may be the most useful part of the book.

More Information from the Publisher

go to top

FaceBook Follow
Twitter Follow