Un groupe de travail, nommé « Web APIs » vient d’etre créé au W3C.
L’objectif de ce groupe, est de généraliser l’utilisation et les méthodes associées aux interfaces dites « riches », en créant et faisant évoluer des APIs existantes, comme le composant XMLHttpRequest (pierre angulaire de AJAX, qui existe depuis plus de 4 ans maintenant, et qui fait un buzzard pas possible depuis quelques temps).
Le groupe de travail propose déjà une liste d’APIs, la plupart de celles ci seront des documentations, généralisation et sûrement des standardisation de composants/APIs que nous utilisons déjà, comme : le langage de requête, XPATH, sur les fichiers XHTML/XML, un DOM plus concentré sur la gestion des événements utilisateurs, et la classe XmlHttpRequest.
D’autres APIs sont plus novatrices, presque bouleverssantes :
- L’évolution du composant d’upload de fichier, qui devrait intégrer des méthodes de contrôle plus poussées au niveau client (taille de la pièce jointe, son type etc..). On parle même d’une certaine automatisation pour ce composant, avec son lots de problème de sécurité qui en découle….
- L’implémentation d’une couche de communication « sockets »… permettant des connections autre que le HTTP, depuis le client léger. Ce serait une évolution (révolution) majeure, on passerait du mode déconnecté à un mode connecté.
- L’évolution du stockage d’information du coté client, on passerait du cookie à un système plus complet, donnant la possibilité de stocker plus de données, on évoque la possibilité de pouvoir, grâce à ce mode de stockage persistent, utiliser une application tout en étant déconnecté du réseau.
L’objectif des 2 derniers points est de créer des sessions plus « forte » entre utilisateur et l’application.
D’autres travaux du groupe traiteront des fonctionnalités type drag&Drop, des barres de progressions etc…( un tas d’autres widgets devraient apparaitres au fil des discussions).
La plupart de ces APIs, méthodes et composants existent déjà, implémentés de différentes manières depuis des années, l’effort à réaliser pour les mettre en oeuvre était jusqu’à présent trop important.
L’objectif est de réduire l’effort nécessaire, en assurant une compatibilité entre les plate formes, une réduction du code source à écrire/maintenir (et à transférer) et surtout en leur garantissant une certaine pérennité à travers le sceau du W3C.
Pour résumer, on s’oriente vers un nouveau type d’usage du client léger ente clients et serveurs, avec des possibiltés d’avoir des sessions plus forte, plus fiable et moins couteuses (réseaux & serveurs) grace au stockage persistent avancé sur le client et les sockets.
On buzzera surement dans quelques années sur le Web 3.0