HTML5 Hacks
OWP
Afshin Mehrabani
So, what’s HTML5?
a markup language used for structuring content for the Web.
Storage
Local Storage
It’s a way to store named key/value pairs locally.
Local Storage
{
‘key1’: ‘val1’,
‘key2’: ‘val2’,
‘key3’: ‘255’,
‘key4’: ‘<img src=”...” />’,
/* … */
}
Session Storage
It’s a way to store named key/value pairs locally.
Usage of Local/Session Storage?
Can I Use?
~91% total support
Why not using Cookies?
LocalStorage is not a replacement for Cookie.
Client
Server
cookies
localStorage
GET /index.php 200
IndexedDB
Provides a way to store large amounts of data on user’s browser.
IndexedDB vs. LocalStorage
IndexedDB is more powerful than LocalStorage
Can I Use?
~59% total support
Web SQL
Basically sqlite embedded into the browser.
Can I Use?
~52% total support. Deprecated.
Performance
Why Web Worker?
Unresponsive JavaScript.
Web Worker
A JavaScript running in the background.
Worker
Main
Worker
Worker
Worker
Worker
postMessage
Shared Worker
Main
Worker
Worker
Worker
Worker
postMessage
How to use Web Worker?
index.html (the main page):
var w = new Worker("worker.js");
w.onmessage = function (event) {
console.log("A new message: " + event.data);
};
worker.js (the worker):
postMessage("Hi, I’m a worker.");
onmessage = function (event) {
postMessage("A new message from main thread: " + event.data);
};
50K Array Bubble Sort
https://github.com/afshinm/50k
Can I Use?
~72% total support
return;
afshinm.name�
@afshinmeh
?