Mobile Training: HTML5, CSS3 & JS APIS

Slides: estelle.github.com/html5mobile

HTML5 Overview

  • Why HTML5?
    • Key features
    • Key players
    • Key design principles
  • Separating Presentation and Content
  • Authoring HTML5
  • Helper Libraries
    • IE6-8 Support 
    • Feature Detection 
    • Other polyfills
  • Markup changes
  • HTML5 page structure
  • New elements
  • Changed elements
  • New & Global Attributes
    • tabindex
    • contentEditable
    • data-*
    • Microdata
    • WAI-ARIA - accessibility

HTML5 Forms

  • HTML5 Form elements
  • New input types 
  • New Attributes 
  • Form validation 
  • CSS UI Form Features 
  • Other new form features 
  • Alternative Deck

Audio And Video

  • Audio and video containers 
  • Audio and video codecs 
  • Styling with CSS3 
  • Controlling with Javascript  
  • <track> and video accessibility 
  • Browser support and polyfills
  • Audio and video APIs

HTML5 Canvas

  • SVG v Canvas v WebGL
  • Canvas API Basics
  • Canvas coordinates
  • Drawing operations 
  • Lines, squares and circles
  • Shadows and Text
  • Canvas pixel data
  • Canvas transforms 
  • Browser Support
  • Lab: Using the Canvas API

Data Storage

  • History of need
  • Local Storage
  • Session Storage
  • WebSQL
  • IndexDB
  • Local Storage Code Lab

HTML5 Offline Applications

  • Purpose of Application Cache
  • manifest attribute
  • manifest file syntax
  • header requirements
  • Application Cache API

Geolocation

  • Example: Find your location
  • Geolocation Methods
  • Position object
  • Error Handling
  • Geolocation code lab

Other JavaScript APIs

  • Web Workers
  • Cross Origin APIs
    • Cross Origin Resources
    • Cross Document Messaging
  • Web Sockets
  • History API
  • Drag & Drop
  • File API
  • querySelector/querySelectorAll
  • getElementsByClassName()
  • classList
  • notifications API

Mobile Web Performance Considerations

  • Performance Optimization
  • Latency
  • Battery Life
  • Memory management
  • UI Responsiveness
  • Mobile Device Limitations
  • Mobile Browser limitations
  • Optimizing images
  • Data URIs
  • Performance Tips