Book Review: Pro HTML5 Programming, 2nd Edition
 |
- Title: Pro HTML5 Programming, 2nd Edition
- Author: Peter Lubbers, Brian Albers, Frank Salim
- Level: Beginner to Intermediate
- Publisher: APress
- Pages: 332
- Rating: 4 of 5
|
If you are a web developer you must be aware of the rising attention being
paid to HTML5. HTML5 is not merely about some markup tags. It provides a whole
new set of features that make it a programmable platform. Modern web
applications invariably make use of HTML markup, CSS, JavaScript, AJAX and
related technologies. Noticing this trend HTML5 offers many new and exiting
features to the web developers. If you want to be on the cutting edge of the web
development technologies you must be well-versed in HTML5. To that end Pro HTML5
Programming, 2nd Edition does a great job of providing in-depth understanding of
most of the HTML5 features. Remember, however, that this book is not for you if
you never used HTML or JavaScript before. It assumes that you have basic
knowledge of HTML and JavaScript.
The book consists of 13 neatly arranged chapters that span 321 pages.
Chapter 1 introduces you with the history of HTML. It also briefly describes
new features gathered under HTML5 umbrella. It then gives a quick tour of markup
and script level additions such as new tags, selector API and JavaScript
debugging. If you are regularly keeping yourself updated with web technologies
then you may want to skip directly to this section but if you are an relatively
new to web development information presented in the earlier sections will
tell you from where HTML5 is coming from.
One of the nice additions that can add jazz-up your web pages is HTML5
Canvas. Chapter 2 explains what an HTML5 Canvas is and how draw shapes and text
on it using Canvas API. Almost all the aspect of drawing on the Canvas including
shapes, text, scaling, gradients, shadows and such styles and security are
discussed with a couple of practical examples in the end.
If you like graphics and painting of Chapter 2 you can continue to Chapter 3
that deals with Scalable Vector Graphics (SVG). SVG based drawing is quite
different than Canvas based drawing. This chapter demonstrates the basics of SVG
based drawing and ends with a more complete example that puts all the pieces
learnt so far together.
In the initial years of HTML developers used to be reserved about using audio
and video in their applications fearing about the browser and client hardware
support. Now a days those limitations are gone. Audio and video have become
integral part of the web and are freely used by web developers. Recognizing this
HTML5 has added tags specifically for audio and video content so that no add-ons
are necessary. Chapter 4 describes these media elements in detail.
As web applications are becoming more and more complex they are also
demanding more complex features. One such feature is Geolocation i.e. ability to
identify location of a user. Chapter 5 discusses Geolocation API and ends with a
couple of practical demonstrations.
Chapter 6 discusses Communication APIs of HTML5. It covers Cross Document
Messaging and XMLHttpRequest features. Both of the topics revolve around how to
create web applications that securely communicate across origins. Chapter
7 continues further to explore Web Socket. It illustrates how a full-duplex
communication channel that operates through a single socket can be put to use
over the web. If you are developing using AJAX today, you will find it
interesting where the future of web communication is heading to with Web
Sockets.
Even if you see no use of any of the HTML5 features in the web applications
you have been developing so far HTML5 has many things to offer to typical web
applications. Chapter 8 covers the new Form features that make your life easy.
New input types, validations and other enhancements are what developers needed
frequently in their web applications. In my opinion this chapter should have
been placed initially because concepts discussed in this chapter are relevant to
all web developers today and they would have found themselves getting hang of
the HTML5 more easily.
As the gap between desktop and web applications is narrowing features such as
drag and drop are increasingly being used in web applications. If you developed
such a mechanism in any of your web applications you probably know how tedious
it can become since HTML so far never had any inbuilt support for drag and drop.
Luckily HTML% offers a great deal of functionality that enables you to implement
drag and drop easily. Chapter 9 talks about these features and illustrates how
drag and drop can be implemented in your web pages.
Chapter 10 discusses another interesting and performance enhancing feature of
HTML5 - Web Workers. Web Workers make your web page multithreaded in that you
can run the client side script on multiple threads. This chapter shows how this
feature can be used.
Chapter 11 covers Web Storage API - a new mechanism to store data on local
machine. Traditionally developers used cookies to store pieces of information on
the client machine. The limitations of Cookies are well-known. Web Storage helps
to overcome these limitations by providing a streamlined data storage API. This
chapter discusses the JavaScript objects, properties, methods and events
involved in using the Web Storage.
Web applications are supposed to be used in always connected fashion.
However, there can be time windows when there is no network connectivity between
the client and server. Most of the applications will fail to work if this
happens. The Offline Web Applications deal with using web applications in
offline fashion. Chapter 12 discusses Application Caching API introduced in
HTML5.
Finally, Chapter 13 discusses the future of HTML5. It gives glimpses of the
technologies that we can expect to come into mainstream web development someday.
Topics discussed include WebGL, Audio Data API, Touchscreen events and
peer-to-peer networking.
Overall, Pro HTML5 Programming, 2nd Edition provides a very sound
introduction to HTML5 and will be a good addition to your bookshelf. It would
have been great if topics such as HTML editors and development tools supporting
HTML5, CSS3, use of HTML5 in ASP.NET/PHP and a quick reference of APIs were also
included. Nevertheless, the book will be a good read for any web developer
looking to master the new HTML5 features.