XML en désaffection
A lire les blogs des uns et des autres, on peut sentir le
vent tourner pour un standard jusque là respecté. XML devient peu à peu
la technologie à éviter pour des raisons très diverses mais convergentes :
- Les utilisateurs du framework Spring Java en ont marre des fichiers de configuration XML surchargés. Trop c'est trop, le XML redevient illisible, revenons à des choses simples.
- Les fichiers de configuration deviennent trop complexes, la lisibilité des fichiers XML est illusoire. Les éditer sans outil dédié équipé au minimum de la coloration syntaxique est un casse-tête. C'est ainsi que Rake propose une alternative à ANT/NAnt souvent jugée plus simple à maintenir.
- Les enfants du Web 2.0, élevés au HTML/CSS/Javascript/JSON, s'étonnent avec raison qu'XML puisse être un standard du Web sans qu'aucun parser javascript standard ne lui soit associé.
- Les architectures REST sont beaucoup plus simples que les architectures orientée services (SOA) dont la complexité est à l'image SOAP, grammaire XML qui leur sert de support.
- Les fichiers de config externes, c'est bien pour modifier le comportement d'un système sans avoir à le recompiler. Justement, Javascript, Ruby et Python, en pleine ascension, ne se compilent pas… Exit XML, bienvenue aux configurations exécutables, c'est à dire aux fichiers de configuration constitués par du code.
- La mode (ce qui ne veut pas dire qu'elle soit dénuée d'intérêt) des mini-langages dédiés à un domaine particulier (DSL, pour Domain Specific Language), encourage à première vue l'usage d'une grammaire et d'une syntaxe sur-mesure. Martin Fowler, dont l'influence sur l'ingénierie logicielle est grande et qui prépare un livre sur les DSL, argumente sur la supériorité de multiples langages sur-mesure en remplacement d'XML.
- D'autres formats de représentation de données ont le vent en poupe, notamment YAML et JSON.
- XML est un format verbeux à forte redondance, personne ne peut le nier.
- La programmation orientée XML ne favorise pas la maintenaibiité des logiciels.
- J'en ai oublié ?
Va-t-on devoir trouver un nouveau standard pour faciliter l'interopérabilité des applications ?
Commentaires