This class is meant for experienced HTML developers who are already familiar with web site development. They will be able to upgrade their skills to the HTML5 level. Lab exercises are done using plain text editor. This allows you to have a close contact with the HTML5 syntax.
Objectives
- Understand the history of HTML5 and current browser support for it
- Know when to use Flash and when to use HTML5
- Create meaningful structure for the document using the semantic elements
- Use the new HTML5 input types
- Validate form without any JavaScript
- Draw shapes, images, and text using the canvas element
- Play back music and videos without requiring a special plug-in using the music and video elements
- Pinpoint the user’s location using the Geolocation API
- Store information on the client side using the Web Storage, Web SQL Database, and Indexed Database APIs
- Build offline applications to allow users to be productive when there's no Internet connection
- Build multi-threaded client applications that take better advantage of multi-core machines using the Web Worker API and Messaging API
- Build push-based applications using the WebSocket API, so the server can initiate communicates with the client
Audience
Current professional web designers and developers who want to upgrade their skills to HTML5.
Prerequisites
Knowledge of HTML and previous web page design experience.
Many of the new HTML 5 features, such as canvas and geolocation, require extensive use of JavaScript.
Duration
2 days
Outline for Enterprise Web Development using HTML5 Training
Chapter 1. Introduction to HTML5
- History of HTML5
- HTML5 Standards Body
- New Features of HTML5
- Current Browser Support for HTML5
- Detecting Support for HTML5
- HTML5 vs. Flash
- Replacing Flash with HTML5
- Summary
Chapter 2. The Basics
- What Is HTML5
- HTML5 Goals
- HTML Specs, Past and Present
- How Is HTML5 Different From HTML4?
- HTML5 Is Not Based On SGML
- More Differences
- HTML5 Defines Required Processing For Invalid Documents
- The Doctype Declaration
- Semantic Elements
- The <aside> Element
- Browser Support For HTML5
- Summary
Chapter 3. New Semantic Elements
- Function over Form
- HTML4 Layouts
- HTML5 Semantic Layouts
- Nesting Semantics
- Other New Semantic Elements
- The <time> Element
- WAI-ARIA
- The <ruby> and <rt> Elements
- The <rp> Element
- The <keygen> Element
- Summary
Chapter 4. Forms
- The form Attribute
- The placeholder Attribute
- New Form Field Types
- Forms and Validation
- The required Attribute
- The number input type
- The pattern Attribute
- The range and date input types
- The <datalist> Element
- The autofocus and oninput Attributes
- HTML5 CSS Pseudo-Classes
- Summary
Chapter 5. Canvas
- The <canvas> Element
- <canvas> vs. <svg>
- Browser Support for <canvas>
- Creating the Canvas
- Using the Context
- Using Color
- Painting Gradients
- Drawing Paths
- Painting Patterns
- Transformers
- Summary
Chapter 6. Video and Audio
- HTML5 Video/Audio Overview
- New Elements for Video/Audio
- Using the <audio> Element
- The <video> Element
- Specifying More Than One Audio or Video File
- The poster Attribute
- Other <audio> and <video> Attributes
- JavaScript and Media Elements
- Summary
Chapter 7. Geolocation
- Geolocation Concepts
- How Does it Work?
- Users Need to Agree!
- Geolocation API
- Functions and Options
- Example
- Success Function
- Error Function
- Options
- watchPosition
- Summary
Chapter 8. Web Storage, Web SQL, and IndexedDB
- Data Storage
- Data Storage Options
- Web Storage
- Programming Interface – Storage/Retrieval
- Programming Interface – Enumerating the Values
- Programming Interface – Removing Items
- Example – Storing a value
- Example – Retrieving a value
- Example – Listing all the keys
- “Expandos”
- Storing JavaScript Objects
- Retrieving JavaScript Objects
- Web SQL Databases
- Using a Web SQL Database
- Running Queries
- Running Queries (cont'd)
- Reading Values
- IndexedDB
- IndexedDB Terminology
- Opening a Database
- Creating an Object Store
- Loading the Store Shelves
- Browsing the Shelves
- Storage Considerations
- Summary
Chapter 9. Offline Processing
- Offline Concepts
- The Cache Manifest File
- Contents of the Cache Manifest
- Serving the Cache Manifest
- applicationCache
- Summary
Chapter 10. Drag and Drop
- Drag and Drop
- Drag and Drop Events
- Some Example Code
- Discussion of Sample Code
- Preparing Data to be Dragged
- Summary
Chapter 11. Messages, Workers and Web Sockets
- Communicating Between Components
- WebWorkers for MultiThreading
- Using a Worker
- Sending Data to the Worker
- Receiving Data from the Worker
- What the Worker Can Do
- Using Scripts inside a Worker
- SharedWorker
- SharedWorkers – Client Side
- SharedWorkers – Worker Side
- Web Sockets
- Web Socket Usage
- Some Considerations
- Summary
Lab Exercises
Lab 1. Create a Basic HTML5 Layout
Lab 2. New HTML5 Semantic Elements
Lab 3. Add More Semantic Value to Your Page with HTML5
Lab 4. Improve Your Forms Using HTML5
Lab 5. Drawing Using the Canvas Element
Lab 6. Dynamic Drawing Using the Canvas Element
Lab 7. Audio/Video Playback
Lab 8. Geolocation
Lab 9. Web Storage
Lab 10. Web SQL Database