Meditation and Mindfulness for Software / IT Professionals. Conducted by Bipin Joshi in Thane. Read more...

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.




Bipin Joshi is a software consultant, an author and a yoga mentor having 21+ years of experience in software development. He conducts online courses in ASP.NET MVC / Core, jQuery, and Design Patterns. He is a published author and has authored or co-authored books for Apress and Wrox press. Having embraced Yoga way of life he also teaches Meditation to interested individuals. To know more about him click here.

Get connected : Twitter  Facebook  Google+  LinkedIn

Posted On : 02 Jan 2012

Tags : ASP.NET Web Forms Reviews