HTML 5 et les terminaux mobiles

Développement web
Par leaknorr
21 mars 2012
HTML 5 et les terminaux mobiles

Dans le prolongement de l’article «Présentation de l’HTML 5», voici un sujet sur la compatibilité de la dernière version du langage avec les terminaux mobiles, sous-entendus les téléphones portables, les PDA (Personal Digital Assistant ou assistants numériques personnels) et les tablettes numériques.

Tout d’abord, un bref historique de l’Internet mobile. Dans un premier temps, l’accès aux contenus web pour les téléphones portables était possible grâce à un langage dérivé de l’HTML, le WAP (Wireless Application Protocol ou protocole d’application sans fil).

Sont ensuite apparus les smartphones (téléphones intelligents ayant des fonctionnalités telles que la navigation sur le web, la consultation des emails et bien d’autres) et les PDA pourvus de navigateurs mobiles utilisant des langages plus évolués comme le XHTML-MP (Mobile Profile), le WML (Wireless Markup Language ou langage de balisage sans fil) ou encore l’HTML 4.
Au fil des générations, les smartphones sont devenus plus intuitifs et se sont dotés de boutiques d’applications.

Jusqu’à présent, il était question de fragmentation du marché des systèmes d’exploitation mobiles (aussi appelés OS pour Operating System) avec plus de 7 OS différents.
Avec l’arrivée du HTML 5, qui a été pensé pour faciliter le développement des applications web («logiciel applicatif manipulable grâce à un navigateur web», Wikipédia) indépendamment du système d’exploitation du terminal, on peut désormais prétendre à un déblocage du développement de l’Internet mobile et à son uniformisation. En effet, ces applications n’auront plus besoin d’être codées pour un OS spécifique et auront le même rendu sur tous les navigateurs mobiles supportant l’HTML 5, c’est-à-dire la grande majorité.

L’HTML 5 est d’autant plus adéquat à l’Internet mobile car, associé au CSS 3 et ses media queries (ou requêtes de média, permettant d’attribuer un style différent selon le type de média final), il permet d’adapter les sites web aux écrans de différentes tailles, y compris ceux des terminaux mobiles, répondant ainsi à la pratique du responsive web design (voir notre article «Le responsive web design»).

Applications mobiles

Les applications codées spécifiquement pour un OS évoquées ci-dessus sont appelées applications natives. Leur existence est remise en cause avec l’HTML 5 et la simplification du développement des applications web.
Pour le moment, les applications web en HTML 5 ne sont pas encore aussi rapides que les applications natives et ne permettent pas d’utiliser au mieux les fonctionnalités des terminaux (par exemple la caméra embarquée), mais elles visent à l’être grâce à de futures implantations d’APIs.
A terme, le but serait de remplacer les applications natives par des applications web en HTML 5 moins coûteuses en terme de temps et d’argent et qui constituent une meilleure solution car, comme cela a été dit précédemment, ce dernier permet leur utilisation sur la majorité des plateformes sans avoir besoin de les re-coder.
Cependant, cela ne signifie pas pour autant la fin des applications natives, certains OS continuerons à les développer, entre autres pour fidéliser leurs utilisateurs.
Parallèlement au développement des applications web, on a vu fleurir des frameworks basés sur HTML 5 qui lui sont dédiés. On peut citer entres autres :

  • jQuery Mobile (construit sur jQuery et jQuery UI)
  • Sensa Touch (1er framework pour le développement d’applications web pour terminaux mobiles)
  • M-Project (en javascript)
  • Titanium (transforme le code de votre page web pour correspondre aux terminaux mobiles)
  • jQTouch (plugin jQuery)
  • jQ.Mobi (en javascript)
  • PhoneGap (en HTML et javascript)

Il y a également des boilerplates, moins complets que les frameworks, ce sont des passages de code qui peuvent être réutilisés tels quels ou avec peu de changement, comme Mobile Boilerplate, adapté de HTML5 Boilerplate.

APIs

Les APIs apparues avec l’HTML 5 sont très utiles pour les terminaux mobiles: glisser-déposer, video/audio, canvas, dont nous avons déjà parlé dans l’article précédent «Présentation de l’HTML 5» . S’ajoute à cela Web Storage et Web SQL Database pour stocker les informations nécessaires aux APIs, la fonctionnalité de formulaire avancé qui permet par exemple de choisir une date à partir d’un calendrier ou d’ajouter automatiquement un @ dans la saisie d’une adresse mail, ou encore GeoLocation. Comme son nom l’indique, cette API permet aux utilisateurs de partager leur position. Celle-ci ne fait en fait pas partie de la spécification HTML 5 mais lui est associée car en plus d’être intéressante, elle est la plupart du temps également supportée par les OS qui supportent l’HTML 5. On peut aussi citer la fonctionnalité Web Workers qui permet d’exécuter des tâches en arrière-plan.

Si la plupart de ces APIs sont très bien supportées par les terminaux mobiles, certaines comme Web Workers posent encore problème sur quelques OS. Le site mobilehtml5.org recense le niveau de compatibilité des fonctionnalités et APIs HTML 5 avec les différents OS mobiles.

D’autres APIs HTML 5 ont déjà été développées spécialement pour les terminaux mobiles, comme Contacts qui permet l’accès à un carnet d’adresses.
A terme, l’objectif est de créer une API pour chaque composant des terminaux mobiles, par exemple une API qui récupèrerait les données d’un appareil photo embarqué.

Ressource supplémentaire sur HTML 5 et les terminaux mobiles :
«The HTML5 test – How well does your browser support HTML5 ?» (site utilisant le responsive web design)

Ajouter un commentaire

Articles similaires