Many of the new books on web development and web design focus on HTML5 and CSS3. Lately I have been reading HTML5 books with a focus on the programming aspects of HTML5, like Local Storage, IndexDB, Geolocation, Offline Applications, Web Workers, Web Sockets, etc. Recently I read Head First HTML5 Programming and HTML5 The Missing Manual. Both HTML5 books are excellent for those web designers and web developers new to HTML5. In this post I am reviewing another new HTML5 book I received as part of the O'Reilly Blogger Review Program, called Programming HTML5 Applications.

Programming HTMl5 Applications

Programming HTML5 Applications

Programming HTML5 Applications hits a lot of the same topics as other HTML5 Books with a focus on programming:

  • JavaScript Fundamentals
  • Local Storage
  • IndexDB
  • Files and Drag and Drop
  • Offline Web Applications
  • Web Workers
  • Web Sockets
  • New HTML5 Tags

Most HTML5 books start out with an introduction to JavaScript, because you will be using a lot of it when discussing the various topics. Chapter 2 and 3 of Programming HTML5 Applications discuss some features of JavaScript as well as testing JavaScript. Overall, it was an okay introduction, but not as good as what you will find in Head First HTML5 Programming. If you are truly new to JavaScript and interested in the programming aspects of HTML5, then I recommend you read Head First HTML5 Programming instead.

Chapters 4 and 5 discuss Local Storage and IndexedDB. Local Storage is 5MB of key/value storage available to your web applications for storing data, whereas IndexedDB is more like a NoSQL database like MongoDB or CouchDB. The coverage was good and a lot of time was spent on jQuery Plugins and ExtJs that abstract the various cross-browser storage features. If you are a big jQuery or ExtJS fan, you will find this useful.

Chapter 6 focused a lot on working with files, uploading files, and drag-and-drop. I haven't exploited these features in HTML5 so it was an interesting chapter. Asynchronously loading multiple files from the browser to the server without Flash has always been a pain so I look forward to trying some of the samples in the book.

Chapters 7, 8, and 9 discuss offline web applications by using a manifest file, using web workers for process intensive operations, and web sockets for real-time client-server communication. Again, all pretty well discussed with examples.

And, last, Chapter 10, provides an overview of the new tags in HTML5 and support for Microdata, HTML5 Forms, audio and video, canvas, Geolocation, and CSS3. This chapter barely touched the subjects and isn't too valuable for anyone that wants to use these features on a production HTML5 Website.

Thoughts on Programming HTML5 Applications

Overall, I thought Programming HTML5 Applications was an okay book, but money would be better spent purchasing Head First HTML5 Programming or HTML5 The Missing Manual. If you like the Head First approach with its problem-solution approach and visual appeal, you will love Head First HTML5 Programming. The book takes you through real-world customer request scenarios and is absolutely wonderful at teaching the fundamentals of JavaScript along with the programming aspects of HTML5. HTML5 The Missing Manual is excellent as well. If you don't need end-to-end samples and a good introduction to JavaScript, HTML5 The Missing Manual has a lot more content and touches a lot more aspects of HTML5 in addition to the programming-related features.

I think you would be much better off purchasing one of those books instead of Programming HTML5 Applications.

Check out other reviews on Amazon.