Easy-to-follow video tutorials help you learn software, creative, and business skills.Become a member
In the past, there was a clear distinction between the HTML specification and the Document Object Model or DOM API. In HTML5, that distinction has been erased, as the DOM specification is now part of the HTML5 specification. Now, this was driven by many factors, but chief among them is a desire to produce a detailed specification that would result in interoperability across platforms and implementations. That's just a pretty fancy way of saying that HTML5 documents and applications should work the same everywhere.
Now, in order for that to happen how objects are referenced through scripting needs to be explicitly detailed as part of the specification. As such, many features of the DOM that have been used for years but not documented have been added to the specification, and many new events and methods have been added to increase the functionality of things like form processing and selecting and manipulating elements. Now, in addition to the changes to the DOM, HTML5 also includes several built-in APIs that are designed to move the browser towards being more of a native programming platform, reducing or eliminating the need for outside plug-ins and services.
Now, one of the most talked about APIs is the one designed to control playback of audio and video content. This will allow authors to create robust media players and will likely be extended in the future by third- party developers to enhance the power and capabilities of HTML5 based media players. HTML5 also includes an inline editing API. This API allows users to edit content directly on the page, without the use of an external editor. Now, this could be used to create an interface for blogs, content management systems, or to allow clients to update web page content directly within the browser.
Another highly anticipated API is the offline application one. Now, this offline cache API will allow authors to build applications that continue to work even when Internet connections are not available. These applications could then update data when connectivity is restored. Also included is a History API that will enable applications to access the browser history, save history states, and navigate between those states as well. Now, this is going to formalize the behavior of many current AJAX based applications and extend the capabilities of web apps to navigate through application states.
Another very powerful native API allows applications to register themselves as handlers of a URL scheme. What does that mean? Well, using this API, mail applications could register themselves to handle mail protocols. File upload applications could register themselves to handle FTP, and so on. While there is still vigorous ongoing debate about how this interface is going to be finalized, it could become a very powerful part of creating applications with HTML5. Now, the last built-in API is the Drag & Drop interface.
This API allows applications to enable, control, and respond to dragging and dropping page elements. As browser support for HTML5 matures, I expect to see this API in widespread use. Now, in addition to those built-in APIs, HTML5 has a number of related application programming interfaces that either started out in the specification only to be split off later, or APIs that are being developed at the same time and are mentioned frequently along with HTML5. Now, these include the Geolocation application programming interface, the 2D Canvas Drawing API, the Local Storage API, Web Workers, Web Sockets, and a Messaging API.
Get unlimited access to all courses for just $25/month.Become a member