Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
HTML5 programmer’s reference
Reid J., Apress, New York, NY, 2015. 392 pp. Type: Book (978-1-430263-67-8)
Date Reviewed: Nov 10 2015

Web programming has evolved to the point where developers must anticipate the use of devices of different capabilities, ranging from handheld smartphones to full-sized desktop computers. To meet the needs of this diversity of platforms, Hypertext Markup Language 5 (HTML5) has become the contemporary standard for web programming. Although HTML5 shares the same four letters as older versions of HTML, it is substantially different. It is not merely an evolutionary change. To support the work of web programmers, good reference materials are needed. This comparatively slim book meets many needs.

The book is organized into two principal parts and an appendix. The first part presents HTML5 in depth, the second part consists of reference material organized topically and in dictionary fashion, and the appendix describes the author’s recommendations on JavaScript programming techniques.

The first part is too brief to be a thorough tutorial, as the author himself admits, but is a useful description of the capabilities of HTML5, the ways it differs from older versions of HTML, and how a programmer should think in HTML5. There are six chapters in this part. The first is a chapter on the history of HTML and how HTML5 came to be. An important lesson from this chapter is that HTML5 is not based on the Standard Generalized Markup Language (SGML) and its derivatives, like Extensible Markup Language (XML), but it is rather a fresh platform intended for programming. HTML5 includes tools like cascading style sheets (CSS) and JavaScript, which have long been associated with earlier versions of HTML but have now become much more central to it. Web development has changed from formatting documents to a full programming environment. The second chapter is on the elements of HTML5, and how they provide greater flexibility and clarity of programs in contrast to older versions. Some of the major areas of this chapter are the new instructions for identifying sections, grouping, semantics, audio and video content, and interactivity including dialogs and forms. A section on deprecated elements from earlier versions ends the chapter.

The third chapter in the first part is on the HTML5 application programming interfaces (APIs). In particular, the HTML5 APIs used for responding to server-side events, web sockets, web storage, messaging, and web workers. The API for drag-and-drop transfer is also presented here. Cautions in handling security and privacy when communicating with an external entity are discussed critically. The use of graphics within HTML5 is presented in the fourth chapter on the Canvas API. The use of Canvas within JavaScript predates HTML5. Its use both in manipulating static images and in creating animations are treated in this chapter. The fifth chapter briefly discusses several additional standards and APIs that primarily affect handheld devices (geolocation and device orientation) and graphics (animation timing, WebGL, and scalable vector graphics (SVG)). Of the latter graphical standards, only animation timing is discussed at some length. A longer discussion of WebGL and SVG must be found elsewhere since these topics are too large for this reference manual. The sixth chapter is on practical hints. The first is on how to detect the extent of browser support of HTML5 features. The book shows results from running its examples in Internet Explorer, Firefox, and Chrome. Since browser technology is continually evolving, the extent of browser support at the time of publication may differ from now. The second part of this chapter is a sample project in which an interactive game is developed entirely in HTML5.

The second part of the book is reference material divided into three chapters. The first chapter (7) presents HTML5 elements in topical groups and then alphabetically within the group. Each element and tag is defined with correct usage, including flags and parameters, and a short example showing correct usage. The next chapter in this section presents elements and tags for the server-centered APIs in HTML5 using the same format as the previous chapter. The last chapter in this part is devoted to the Canvas API. The appendix is really a chapter on JavaScript coding principles. The emphasis of the appendix is on event-driven, asynchronous programming in support of the client device communicating with an external server.

This is a well-written book that goes beyond simply being a dictionary-type reference. The discussions and examples on proper use of the features are very useful. All of the examples can be downloaded from the publisher’s website as a single zip file. It would be a good companion to a good textbook or tutorial volume on HTML5.

Reviewer:  Anthony J. Duben Review #: CR143927 (1601-0005)
Bookmark and Share
  Reviewer Selected
Featured Reviewer
 
 
General (D.1.0 )
 
 
HTML (I.7.2 ... )
 
 
Reference (A.2 )
 
Would you recommend this review?
yes
no
Other reviews under "General": Date
Problems in programming
Vitek A., Tvrdy I., Reinhardt R., Mohar B. (ed), Martinec M., Dolenc T., Batagelj V. (ed), John Wiley & Sons, Inc., New York, NY, 1991. Type: Book (9780471930174)
Aug 1 1992
KNOs: KNowledge acquisition, dissemination, and manipulation Objects
Tsichritzis D., Fiume E., Gibbs S., Nierstrasz O. ACM Transactions on Information Systems 5(1): 96-112, 1987. Type: Article
Nov 1 1987
Programmer perceptions of productivity and programming tools
Hanson S. (ed), Rosinski R. Communications of the ACM 28(2): 180-189, 1985. Type: Article
Jul 1 1985
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy