New Feature: Playlist Center! Pick a topic and let our playlists guide the way.

Easy-to-follow video tutorials help you learn software, creative, and business skills.Become a member

API overview

From: HTML5 First Look

Video: API overview

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.

API overview

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.

Now, we are going to take a closer look at some of those a little later on in the title. One thing that becomes clear from examining the APIs included in the HTML5 specification is that they're all interfaces that help form the building blocks or foundations of many different types of applications. There's a focus on interactivity, communication, and media playback, all common tasks of modern web applications. One of the more intriguing storylines of HTML5 is to what level these APIs will be supported in browsers and how new and existing JavaScript libraries will interpret and extend their functionality.

Show transcript

This video is part of

Image for HTML5 First Look
HTML5 First Look

50 video lessons · 73185 viewers

James Williamson
Author

 
Expand all | Collapse all
  1. 3m 56s
    1. Welcome
      1m 1s
    2. Using the exercise files
      1m 50s
    3. Who is this course for?
      1m 5s
  2. 21m 12s
    1. Exploring prior standards
      4m 26s
    2. Why do we need HTML5?
      3m 32s
    3. HTML5 timeline
      4m 24s
    4. Current HTML5 support
      4m 25s
    5. What HTML5 is (and what it isn't)
      4m 25s
  3. 27m 49s
    1. HTML5 vs. HTML4
      3m 25s
    2. New structural tags
      6m 1s
    3. New content tags
      4m 7s
    4. New application-focused tags
      5m 32s
    5. Deprecated elements
      4m 28s
    6. API overview
      4m 16s
  4. 22m 29s
    1. Content models
      5m 33s
    2. Understanding the outline algorithm
      3m 21s
    3. The role of ‹div› tags
      4m 20s
    4. Using ID and class attributes
      2m 6s
    5. DOCTYPE declarations
      4m 16s
    6. Character encoding
      2m 53s
  5. 41m 27s
    1. Basic page structure
      3m 40s
    2. Structuring top-level elements
      7m 30s
    3. Structuring interior content
      8m 42s
    4. Building headers
      9m 11s
    5. Checking document outlines
      5m 46s
    6. Ensuring cross-browser structure
      6m 38s
  6. 27m 53s
    1. New input types
      5m 57s
    2. Setting form autofocus
      2m 53s
    3. Using placeholder data
      4m 4s
    4. Marking required fields
      3m 24s
    5. Working with number inputs
      5m 49s
    6. Using date pickers
      5m 46s
  7. 1h 1m
    1. Canvas overview
      6m 21s
    2. Adding canvas content
      8m 58s
    3. Drawing in the canvas environment
      12m 9s
    4. Drag-and-drop API overview
      6m 18s
    5. Offline applications overview
      7m 11s
    6. Video overview
      5m 45s
    7. Encoding video
      8m 23s
    8. Adding video
      5m 58s
  8. 57m 33s
    1. Geolocation API overview
      5m 50s
    2. Web storage API overview
      5m 40s
    3. WebSockets overview
      4m 16s
    4. CSS3 overview
      6m 38s
    5. Enhancing typography with CSS3
      7m 42s
    6. Using @font-face
      7m 11s
    7. Styling HTML5 with CSS3
      10m 23s
    8. Using CSS3 transitions
      9m 53s
  9. 5m 6s
    1. Final thoughts
      3m 49s
    2. Goodbye
      1m 17s

Start learning today

Get unlimited access to all courses for just $25/month.

Become a member
Sometimes @lynda teaches me how to use a program and sometimes Lynda.com changes my life forever. @JosefShutter
@lynda lynda.com is an absolute life saver when it comes to learning todays software. Definitely recommend it! #higherlearning @Michael_Caraway
@lynda The best thing online! Your database of courses is great! To the mark and very helpful. Thanks! @ru22more
Got to create something yesterday I never thought I could do. #thanks @lynda @Ngventurella
I really do love @lynda as a learning platform. Never stop learning and developing, it’s probably our greatest gift as a species! @soundslikedavid
@lynda just subscribed to lynda.com all I can say its brilliant join now trust me @ButchSamurai
@lynda is an awesome resource. The membership is priceless if you take advantage of it. @diabetic_techie
One of the best decision I made this year. Buy a 1yr subscription to @lynda @cybercaptive
guys lynda.com (@lynda) is the best. So far I’ve learned Java, principles of OO programming, and now learning about MS project @lucasmitchell
Signed back up to @lynda dot com. I’ve missed it!! Proper geeking out right now! #timetolearn #geek @JayGodbold

Are you sure you want to delete this note?

No

Thanks for signing up.

We’ll send you a confirmation email shortly.


Sign up and receive emails about lynda.com and our online training library:

Here’s our privacy policy with more details about how we handle your information.

Keep up with news, tips, and latest courses with emails from lynda.com.

Sign up and receive emails about lynda.com and our online training library:

Here’s our privacy policy with more details about how we handle your information.

   
submit Lightbox submit clicked
Terms and conditions of use

We've updated our terms and conditions (now called terms of service).Go
Review and accept our updated terms of service.