HTML5: The Good, the Bad, and Everything In Between
-
Upload
microsoft-developer-network-msdn-belgium-and-luxembourg -
Category
Documents
-
view
1.153 -
download
2
description
Transcript of HTML5: The Good, the Bad, and Everything In Between
HTML5: The Good, the Bad, and Everything in Between
Jeff [email protected]
History API
Pros Provides much-needed Back button support and
optionally deep-linking support for single-page apps (SPAs)
Cons Provides limited freedom to modify backstack
http://www.whatwg.org/specs/web-apps/current-work/multipage/history.html
IE
10+
Chrome
8+
Firefox
4+
Opera
11.5+
Safari
5+
A-
Geolocation API
Pros Simple, powerful, and easy to learn Works almost everywhere (including desktop
browsers) Supports GPS, WiFi Positioning, and triangulation
Cons Provides no control over callback frequency
http://www.w3.org/TR/geolocation-API/
IE
9+
Chrome
5+-
Firefox
3.5+
Opera
10.6+
Safari
5+
A-
Audio and Video
Pros Provides native support for audio and video Eliminate need for Flash players, Silverlight
players, etc.
Cons No standard audio or video file format No support for streaming, adaptive bitrates, or
DRM
http://www.w3.org/TR/html5/the-video-element.html
IE
9+
Chrome
4+
Firefox
3.5+
Opera
10.5+
Safari
4+
B-
Fullscreen API
Pros Provides full-screen support for all HTML
elements, including VIDEO elements
Cons Not supported in Internet Explorer
http://www.w3.org/TR/fullscreen/
IE
-
Chrome
15+
Firefox
10+
Opera
12.1+
Safari
5.1+
B
Canvas
Pros Graphics API fills big hole in HTML API is rich (for 2D), yet relatively easy to learn requestAnimationFrame makes animations
better
Cons API is primitive by today's standards
http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html
IE
9+
Chrome
4+
Firefox
2+
Opera
9+
Safari
3.1+
A-
Web Workers
Pros Allows for multithreaded JavaScript apps API eliminates most complexities from
multithreading
Cons High overhead when transferring large objects
between threads (mitigated by new transferrable objects feature)
http://dev.w3.org/html5/workers/
IE
10+
Chrome
4+
Firefox
3.5+
Opera
10.6+
Safari
4+
A
Web Storage
Pros Allows Web apps to store data persistently on client API simple and easy to learn
Cons Data is stringified when stored and requires type
coercion Recommended 5 MB storage limit is too restricting
http://www.w3.org/TR/webstorage/
IE
8+
Chrome
5+
Firefox
3.5+
Opera
10.5+
Safari
4+
B
Indexed DB
Pros Provides a structured alternative to Web storage Supports fast (indexed) retrieval from large data
sets Supports transacted access and large storage
volumes
Cons No query language; reads are case-sensitive
http://www.w3.org/TR/IndexedDB/
IE
10+
Chrome
11+
Firefox
4+
Opera
-
Safari
-
B
Offline Apps
Pros Provides offline caching story for running apps
when not connected
Cons Story for updating cached content is confusing API could be richer
http://www.w3.org/TR/html5/offline.html
IE
10+
Chrome
5+
Firefox
3.6+
Opera
12+
Safari
4+
C
FileReader API
Pros Provides async API for reading files Relatively well-designed and widely adopted
Cons Reads were all or nothing until introduction of
slicing, which still isn't universally supported
http://www.w3.org/TR/FileAPI/
IE
10+
Chrome
6+
Firefox
4+
Opera
12+
Safari
-
A-
FileWriter and FileSystem APIs
Pros Provides much-needed API for file writing
Cons Specifications came very late, adoption has been
slow Implementations to date only support virtual file
systems API is complex and unintuitive (but fortunately
async)
http://www.w3.org/TR/file-writer-api/ | http://www.w3.org/TR/file-system-api/
IE
-
Chrome
13+
Firefox
-
Opera
-
Safari
-
D
XMLHttpRequest Level 2
http://www.w3.org/TR/XMLHttpRequest/
IE
10+
Chrome
7+
Firefox
4+
Opera
12+
Safari
5+
APros Cross-origin calls via CORS protocol Support for progress reporting on file uploads Support for binary data transfers (send and
receive) Support for request time-outs Cleaner, more consistent API
WebSockets
http://dev.w3.org/html5/websockets/
IE
10+
Chrome
14+
Firefox
6+
Opera
11+
Safari
5+
APros Push model for client-side updates Compatible with proxies and firewalls Supported in other platforms (e.g., Windows 8) Simple and intuitive API
Forms
Pros Allows for richer HTML UIs (finally!) Allows browsers to assume partial responsibility
for input validation (required fields, pattern fields, etc.)
Cons Should have happened a long time ago Not ambitious enough in scope
http://www.w3.org/TR/html5/forms.html
B-