Drag and drop -- With drag and drop, users can grab objects and drag them around the screen to
operate on them.
Web workers -- Developers with experience in the server and desktop world are familiar with the use
of threads to accomplish long-running operations in parallel. Web workers is effectively threading in
Cross-document messaging -- For a number of years, web developers have known that it is impossible
to make Ajax requests to domains that are not a part of the domain as well as script across windows
loaded from different domains. This is a security feature. With support for cross-document messaging,
pages can communicate with each other with basic security features enabled.
Browser history support -- Support for the forward and backward buttons in a web application with
Ajax is problematic. Various methods have been devised for this purpose; however, browser support
has been spotty. With browser support for history built in, developers will be better off. The window.
history object supports several methods worth mentioning:
• pushState(state, title, url) allows for the pushing of state into the browser's history stack.
• window.onpopstate is an event that will be raised when a user navigates through a page supporting
• history.replace, .back, .forward, and .go are methods that will allow users to navigate through the
history as needed by the application.
Microdata -- With microdata, it will be possible to add additional meaning to web applications in the
browser. Microdata will give more meaning to the content so that search engines can provide better
File access -- There are several APIs that provide access to the file system on the client computing
Along with these features, there is CSS3, which space limitations prevent me from discussing here.
You can find more information about HTML5 features as well as CSS3 in the HTML5 articles by
Michael Palermo and Dan Wahlin at www.DevProConnections.com. See, for example, "HTML5 Is in
Style: Working with CSS3 and HTML5."
One final note: As you develop applications that use HTML5, you may also want to make use of
frameworks. The examples here are based on the jQuery Mobile framework. I have used it to due to
the popularity of jQuery among ASP.NET developers. However, jQuery Mobile is by no means the
only framework that you can use. Some of the others are jQTouch, Sencha touch, iWebKit, Wink,
and others. I hope that you have enjoyed this introduction to HTML5 and will use this article as a
jumping-off point in your explorations of these and other HTML5-related technologies and tools.
Chapter 6: Introduction to HTML5 for Mobile App Development