HTML5 su dispositivi mobili

HTML5 ha alcune particolarità per il suo utilizzo in telefoni cellulari , touch pad e altri dispositivi nomadi.

caratteristiche principali

Memoria locale

La memorizzazione nella cache dei dati ( AppCache ) da parte del browser consente, tra l'altro, di dare l'impressione all'utente di una continuità della connessione in determinati casi in cui si sarebbero verificate interruzioni.

Affinché questo sia abilitato, è necessario creare un manifest offline la prima volta e avere il tipo MIME  : text / cache-manifest .

Il file manifest contiene le dipendenze necessarie per il corretto funzionamento di un'applicazione.

CACHE MANIFEST # Version 0.1 offline.html /iui/iui.js /iui/iui.css /iui/loading.gif /iui/toolbar.png /iui/whiteButton.png /images/gymnastics.jpg /images/soccer.png /images/gym.jpg /images/soccer.jpg

Dopo la creazione del manifesto, è richiesta una connessione al browser, che viene effettuata dal tag html con l'attributo manifest contenente l'URL del file manifest.

<html manifest="manifest.mf">

Disegno

È possibile allocare spazio su una pagina per immagini, curve, grafici, elementi ludici e tutte le altre cose che possono essere disegnate, sia a livello di programmazione che tramite l'interazione dell'utente. Ciò è possibile senza ricorrere alla programmazione tramite Adobe Flash o altri plugin .

Streaming video e audio

Diventa possibile gestire flussi video e audio direttamente, senza Adobe Flash .

Geolocalizzazione

C'è un'API di geolocalizzazione che recupera la posizione geografica dell'utente. Questa API non è inclusa nella specifica HTML5, ma può essere utilizzata come supplemento. La latitudine e la longitudine sono quindi disponibili nel JavaScript della pagina, che può quindi inviarlo facoltativamente al server. Questo potrebbe essere utilizzato, ad esempio, per mostrare edifici turistici o commerciali vicini all'utente.

Ecco una tipica riga di codice per la geolocalizzazione:

navigator.geolocation.getCurrentPosition(successCallback, errorCallback, options);

Trovare la posizione è un'operazione asincrona, che richiede il consenso dell'utente. È quindi necessario prevedere funzioni di callback per i casi di accettazione e rifiuto.

Moduli avanzati

I campi modulo HTML5 hanno attributi che facilitano l'interfaccia con l'utente e che riducono le dimensioni della pagina HTML eliminando la necessità di alcune righe di codice javascript solitamente utilizzate per i controlli locali prima dell'invio al server.

Problemi conosciuti

video

Android
  • Android 2.2 e versioni precedenti non supportano l'attributo controls. Ciò rende necessario fornire una propria interfaccia video, contenente almeno uno script per l'avvio del video. Questo bug è stato risolto in Android 2.3.
  • Android 2.2 e versioni precedenti non gestiscono correttamente l'attributo typein tutti i casi, in particolare se manca l'estensione ".mp4" per una sorgente MP4. D'altra parte, con una sorgente H.264, le cose vanno bene. Questo bug è stato risolto in Android 2.3.
iPhone e iPad
  • iOS 3.2 e versioni precedenti non riconoscono il video se l'attributo posterè presente. Questo attributo dovrebbe consentire la visualizzazione di un'immagine durante il caricamento del video. Questo bug è stato risolto in iOS 4.0.
  • Se sono presenti più sorgenti, iOS 3.2 e versioni precedenti considereranno solo la prima. Tuttavia, poiché iOS accetta solo codec H.264 + AAC + MP4, ciò significa che la prima fonte sarà quasi necessariamente MP4. Questo bug è stato risolto in iOS 4.0.

Rilevamento della disponibilità di HTML5 e del tipo fisso / mobile

Prima di creare una pagina standard HTML5, il server potrebbe voler verificare se HTML5 sarà accettato dalla workstation client. Questa rilevazione, così come quella di tipo fisso / mobile, avviene solitamente grazie allo user-agent .

Tutti i dispositivi che comunicano in HTTP devono inviare uno user-agent che è una stringa di caratteri che identifica il browser web e il sistema operativo della workstation client.

Per il server della pagina web, è possibile rilevare se HTML5 è supportato, esaminando la versione del browser nello user-agent. Ed è possibile rilevare il tipo di hardware del client esaminando il sistema operativo dello user-agent.

Ciò può essere fatto in modo semplice confrontando il nome con un elenco prestabilito che deve essere mantenuto. Oppure può essere fatto utilizzando funzioni aggiuntive aggiunte al server, ad esempio, se il server è Apache , allora c'è il modulo AMFWurflFilter (Open Source) che fornisce attributi ( is_wireless_device , is_tablet , ...) facilitando il rilevamento mobile e facilitando il scelta del formato della pagina ( resolution_width , resolution_height , ...).

Note e riferimenti

(fr) Questo articolo è parzialmente o interamente tratto dall'articolo di Wikipedia in inglese intitolato HTML5 in dispositivi mobili  " ( vedere l'elenco degli autori ) .
  1. HTML5 da una prospettiva mobile , 22 luglio 2009 di Jason Grigsby
  2. Far funzionare offline le applicazioni Web mobili con HTML 5 , Michael Galpin, 29 giugno 2010
  3. Come HTML5 cambierà l'uso del Web 1 dicembre 2009 da Kevin Purdy
  4. API GeoLocation Mark Pilgrim, Dive Into HTML5
  5. Java Script Geo location Framework per il Web mobile code.google.com
  6. Mark Pilgrim : Dive Into HTML5
  7. http://wurfl.sourceforge.net/help_doc.php

Vedi anche

Articoli Correlati

link esterno