Préface
Le langage WML (Wireless Markup Language) est une application XML conçue spécifiquement pour l'écosystème WAP (Wireless Application Protocol). Sa fonction principale est de diffuser du contenu sur les appareils mobiles, caractérisés par de petits écrans, une puissance de traitement limitée et des connexions réseau à faible bande passante. Contrairement à HTML, qui utilise un modèle de navigation par page, l'unité fondamentale de WML est la « carte ». Plusieurs cartes sont regroupées dans un seul fichier appelé « deck », qui est téléchargé simultanément sur l'appareil. Cette architecture minimise les requêtes au serveur et réduit la latence lors de la navigation entre les cartes d'un même deck.
Le modèle WAP, sur lequel fonctionne WML, repose sur une passerelle WAP servant d'intermédiaire entre le réseau sans fil et Internet. Cette passerelle traduit les requêtes du protocole WAP en HTTP standard et, surtout, encode le WML dans un format binaire compact afin d'économiser de la bande passante. Le développement d'applications WML requiert un environnement spécifique, comprenant un serveur web compatible WAP configuré avec les types MIME appropriés, un simulateur de passerelle et un simulateur de téléphone pour les tests.
WML offre un ensemble complet de fonctionnalités pour la création de services mobiles interactifs, notamment des éléments de saisie utilisateur, des variables pour la gestion d'état des cartes, des tâches pour le contrôle de la navigation et des gestionnaires d'événements pour les réponses dynamiques. Les spécifications ultérieures, telles que WAP 2.0, ont fait évoluer WML vers une convergence avec les standards du Web, en introduisant XHTML Mobile Profile et WAP CSS (WCSS), tout en maintenant la rétrocompatibilité avec le vaste parc installé d'appareils WML 1.x.