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)
Default rendering viewport: 800 to 1000px wide
Adapted viewport with<meta name='viewport' content=''>
<meta name='viewport' content='width=device-width'>
Adapt style to screen size:
<link rel='stylesheet' href='default.css'>
<link rel='stylesheet' href='large_screen.css'
media='screen and (min-width:600px)'>
Use liquid or elastic layout, preferably in single column
<input type=tel>
<input type=email>
<input type=date>
<datalist><option value=…></datalist>
Soon (?):
<input type='text' speech>
touchstart
, touchmove
, touchend
eventsCache-Control
Last-Modified
XMLHttpRequest
for partial updatesData storage:
window.localStorage
Better, but later:
var db = window.indexedDB.open(dbname);
Offline caching:
<html manifest='manifest_file'>
Geolocation:
navigator.geolocation.getCurrentPosition(…)
Accelerometer / gyroscope:
addEventListener('devicemotion', …)
Battery:
navigator.battery.
addEventListener('dischargingtimechange', …)
Camera / Mike:
navigator.getUserMedia({video:true,audio:true},…)
Adapt to network type:
if (navigator.connection.type) == "3g") { … }
Optimize polling:
var eventsource = new EventSource();
eventsource.onmessage = function(event) { … }
Bidirectional connection:
var socket = new WebSocket( 'ws://game.example.com:12010/updates');
socket.onopen = function () { …};
Soon, P2P connection:
var connection = new PeerConnection('STUNS example.net',
signalingCallback);
http://kwz.me/ps
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)