La possibilità delle Web applications basate su HTML5 di interagire con le features dei dispositivi, rappresenta uno dei passi avanti più importanti per la riduzione della distanza dalle applicazioni native; funzionalità come per esempio l'accesso alle fotocamere e al filesystem di un device divengono sempre più accessibili anche grazie ad API JavaScript appositamente dedicate.
Tra le soluzioni più interessanti in questo senso, è possibile segnalare una piccola selezione di interfacce per la programmazione che potranno essere utilizzate per lo sviluppo dei propri progetti compatibilmente con l'attuale livello di supporto cross-browsing:
- Device Orientation API: consente di accedere alle informazioni relative alla posizione di un dispositivo nello spazio grazie ai Device Orientation Event disponibili su iOS partire dalla release 4.2 e sul Robottino Verde dalla versione 3.0; basa il suo funzionamento sui parametri alpha, beta e gamma (orientamento e inclinazione) passati al listener come parte di un evento.
- API per la geolocalizzazione: consente di condividere il dato riguardante la posizione di un dispositivo nello spazio con servizi esterni, si basa sull'invio delle coordinate relative a latiudine e longitudine verso un server romoto incaricato di interpretarle e di restituirle in modo diverso a seconda della finalità della piattaforma, per esempio come indicazione all'interno di una mappa o per il GeoTagging delle immagini.
- GamePad API: può essere utilizzata per mettere in connessione il GamePad/Joystick di una console con un terminale, lo scopo è in pratica quello di permettere alla periferica di interagire con un Web game basato su HTML5 e accessibile direttamente da browser per la navigazione; gamepad.js rappresenta una buona soluzione per l'impiego multipiattaforma di tale interfaccia pur tenendo conto del mancato supporto da parte di Internet Explorer, Opera e Safari.
- Page Visibility API: basata sull'evento "visibilitychange", consente di stabilire se una pagina specifica risulta visibile o meno nel momento in cui viene trasferita in una scheda diversa o minimizzata; cià permette per esempio di mandare in pausa l'esecuzione di un servizio quando viene modificata la pagina corrente.
- Battery Status API: consente di monitorare lo stato della batteria di un dispositivo direttamente da una Web application, tale operazione potrà essere effettuata attraverso un wrapper JavaScript come battery.js attualmente supportato soltanto da Firefox.
L'elenco proposto potrà essere integrato in qualsiasi momento anche su suggerimento degli sviluppatori; ad oggi le tecnologie per l'interazione browser based con i device sono coinvolte in un'opera d'implementazione continua, ma le problematiche relative alla compatibilità hanno ancora un ruolo fondamentale sul loro livello di diffusione.
Via: Daker