This project is funded by the European Union through the Seventh Framework Programme (FP7/2010-2012) under grant agreement n°257800
- Mobile Web Applications (MobiWebApp)
window.addEventListener('touchstart', cb, false);
window.addEventListener('touchmove', cb, false);
window.addEventListener('touchend', cb, false);
<input type='tel'>
<input type='date'>
<input type='email'>
<datalist><option value='…'></datalist>
<input type="text" speech>
navigator.Notification.createNotification(title,
body);
var client = new XMLHttpRequest();
client.open("POST", "/draw");
client.send({from: {x:0,y:0}, to: {x:50,y:50}});
if (navigator.connection.type) == "3g") { … }
var eventsource = new EventSource();
eventsource.onmessage = function(event) { … }
var socket = new WebSocket( 'ws://game.example.com:12010/updates');
socket.onopen = function () { …};
var connection = new PeerConnection('STUNS example.net',
signalingCallback);
navigator.geolocation.getCurrentPosition(…)
navigator.geolocation.watchPosition(…)
window.addEventListener("deviceorientation", …);
window.addEventListener("devicemotion", …);
navigator.getUserMedia('video,audio', videoCallback)
function videoCallback(stream) { … }
Use server-side links, or on the client, make use of:
window.history.pushHistory()
Designing a Web app requires designing its possible states
JavaScript rocks, but:
<html><head>
<script>doEverthingWithJavaScript();</script>
</head><body></body></html>
really?
Designing for IE6 served us so well…