HTML 5 et application Web
En quoi HTML 5 est-il conçu pour les applications Web et comment peut-il concurrencer Silverlight?
Pour répondre à cette question examinons en quoi consiste une RIA (Rich Internet Application), un logiciel en ligne équivalent à un logiciel local tel que votre traitement de texte.
Les technologies actuelles, les frameworks Ajax, permettent de réaliser des applications en lignes telles que Wordpress par exemple. Mais le backend pourrait offrir plus de possibilités, quand à:
- L'interface utilisateur.
- Le graphisme et le multimedia,
- Les API pour les traitements,
- La communication avec le serveur pour stocker et relire les données.
Et ainsi permettre des applications offrant à leur tour plus de fonctions.
Pour constituer une alternative à Silverlight, il faut disposer de possibilités multimédia, d'un langage d'interface, du mode déconnecté. Les fonctions actuellement fournies par des extensions doivent être intégrées dans un format standard.
Ce qu'apporte Silverlight pour les applications...
- Le langage d'interface XAML.
- L'audio et la vidéo.
- Des composants graphiques prédéfinis.
- Le mode offline depuis la version 3.
- Une surface graphique en 2D et 3D.
- De multiples langages de programmation dynamiques.
Tout ceci permet de réaliser des logiciels bureautiques, utilitaires, des jeux dont de nombreux exemples sont proposés sur le site silverlight (je n'ose pas m'aventurer à donner une URL vu le caractère aléatoire des liens de Microsoft).
Ce qu'apportera HTML 5 selon la définition du standard et quand il sera totalement implémenté par les navigateurs...
L'interface utilisateur
Comme son nom l'indique, il utilise le langage d'interface HTML, complété par des composants graphiques, les objets de formulaires dont plusieurs sont ajoutés à ce que comporte déjà HTML 4.
La spécification 5 ajoute, le widget combobox, une liste déroulante associée à un champ de texte, pour que l'utilisateur ajoute des valeurs à la liste, l'objet menu et l'objet barre d'outil, dérivé de menu, unebarre de progression, un téléchargement amélioré.
HTML 4 disposait d'un champ de mot de passe à coté du champ de texte sur une ou plusieurs lignes. Les formulaires se perfectionnent avec de nouveaux champs spécialisés, dotés de contrôles de validité correspondants: date, avec contrôle dans le calendrier, url, email, number, color pour choisir une couleur.
Le backend s'enrichit aussi de nouvelles fonctions. Les expressions régulières peuvent être associées à un champ de saisie pour en valider le contenu.
L'interaction se standardise avec des fonctions de couper/coller, glisser/déposer. La géolocalisation fournit les données nécessaires au logiciel pour s'adapter à la langue de l'utilisateur, ou à sa région quand on vend des produits.
La gestion des données et la rapidité
En utilisant local storage, l'application conserve sur le poste de l'utilisateur des données réutilisables lors d'un emploi ultérieur, cela en toute sécurité et sans limite de taille.
Session storage, conserve des données pour la durée d'une session. Cela dispensera d'employer PHP ou autre langage coté serveur.
L'API WebSocket qui complète HTML 5, permet une meilleure communication avec le serveur, sans latence donc plus repide et ainsi facilite l'emploi des langages de programmation dynamiques sur celui-ci, en complément de JavaScript sur le navigateur.
Le multimedia et le graphisme
Les lecteurs flash servant à incruster une vidéo ou une bande son, sont remplacés par de simple balises et il sera aussi plus facile de configurer leur apparence par les attributs de ces balises.
Mais le Web moderne se doit d'aller plus loin et de permettre d'incruster aussi des graphismes vectoriels en 2D ou en 3D.
Canvas est une surface graphique dans laquelle on peut aussi bien définir une interface utilisateur personalisée que créer des animations ou placer des graphiques statistiques. Le mode 3D sera ajouté avec WebGL qu'intégreront les prochaines versions des navigateurs.
On en aura une idée avec les exemples d'applications de Canvas fonctionnant sur les navigateurs déjà compatibles.
La disponibilité de l'application
La possibilité de faire fonctionner les applications hors connection existe depuis un moment grâce à l'extension Gears (utilisée par Wordpress).
HTML 5 en fait un standard qui dispense de télécharger une extension et incite à utiliser cette fonction dans chaque application.
Conclusion
HTML 5 devrait avoir le même effet qu'Ajax, qui par la magie d'un simple mot, à fait d'un ensemble de technologies déjà existantes une composante essentielle du Web et à favorisé le développement des sites web dynamiques et plus réactifs, d'un usage plus agréable.
L'existence d'un standard pour les applications Web, fonctionnant avec tous les navigateurs, sur tous les systèmes, devrait aider à rendre les applications web très communes et dotées de fonctions sophistiquées tout en faisant du Web une toute autre expérience... Un peu comme la télévision moderne comparée au petit écran en noir et blanc d'autrefois.