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 hits a lot of the same topics as other HTML5 Books with a focus on programming:
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.
I think you would be much better off purchasing one of those books instead of Programming HTML5 Applications.