Sites Internet

Le format d'échange de données JSON obtient la bénédiction des normes

Conférence ETNA 2018 - Antoine Pacaud WEBNET "API : Bonnes pratiques"

Conférence ETNA 2018 - Antoine Pacaud WEBNET "API : Bonnes pratiques"
Anonim

Des données légères Le format d'échange pour les applications Web, considéré par un nombre croissant de personnes comme une alternative à XML, a reçu un coup de pouce de l'organisme de normalisation Ecma.

L'Istvan Sebestyen a approuvé la cinquième édition d'ECMAScript, secrétaire général de l'organisation. Inclus dans cette nouvelle version d'ECMAScript, dont le populaire JavaScript est un dialecte, est un support natif pour l'utilisation de JavaScript Object Notation (JSON).

Cette inclusion "aura certainement un grand impact sur les développeurs", a déclaré Douglas Crockford, le «JSON est déjà largement utilisé dans les applications Web, JSON étant intégré dans le langage ECMAScript, les implémentations de JSON seront plus rapides et plus sûres», a déclaré Crockford. L'approbation est également un signe que la communauté de développement d'applications Web n'utilise plus le XML comme norme unique pour l'échange de données entre des systèmes disparates, du moins dans les cas où la fourniture de données structurées relativement simples est nécessaire. standard, officiellement intitulé ECMA-262, inclut un objet pour la création et l'analyse des textes JSON. Pour la plupart, il suit le 2006 Internet Engineering Task Force RFC 4627 écrit par Crockford. Le nouveau standard ECMAScript tente de rectifier un certain nombre de problèmes de sécurité autour de JSON.

Au cours des dernières années, un nombre croissant de développeurs d'applications Web ont utilisé JSON au lieu d'approches XML, comme le Simple Object Access Protocol. données de sorte qu'il peut être transféré entre deux ordinateurs. Cela a créé deux camps parfois opposés au sein de la communauté de développement d'applications Web.

"La répartition entre les défenseurs JSON et XML est forte et continuera dans un avenir prévisible", a déclaré Daniel Markham, architecte Ajax et partenaire principal de la Virginie. cabinet de conseil basé à Bedford Technology Group.

Les avocats ont fait l'éloge de JSON pour sa simplicité. Selon le RFC, JSON a été spécifiquement développé pour gérer "la sérialisation des données structurées". JSON est un ensemble de conventions, ou une grammaire, sur la façon de commander les données à transmettre afin qu'il puisse être analysé par le destinataire. Il emprunte les règles de JavaScript pour le formatage des objets et des tableaux. En revanche, XML s'appuie sur des balises de balisage basées sur des schémas, qui tendent à rendre les ensembles de données plus volumineux et plus complexes que ceux générés en JSON.

"Je suis fan de JSON sur XML, principalement parce que XML a beaucoup Il y a juste une charge cognitive supplémentaire que vous n'avez pas si vos objets JavaScript correspondent étroitement avec vos entités serveur, "a déclaré Markham. Markham a également noté que XML a une flexibilité que JSON ne peut pas correspondre. «XML reste le couteau suisse de l'Internet: capable de gérer toutes sortes de données depuis n'importe quel connecteur», dit-il.

Crockford a formulé JSON en 2001 en travaillant sur un certain nombre d'applications Web utilisant l'ensemble Ajax d'outils de développement web, qui comprend JavaScript, XML et HTML. Il a trouvé XML trop volumineux pour ses besoins. "XML était juste inexcusablement laid et inefficace, et nous avons donc eu recours à la représentation des données de JavaScript pour représenter les données", a déclaré Crockford. Crockford est largement cité comme étant l'inventeur de JSON, bien qu'il soit modeste à assumer cet appel. "Il existait déjà dans la nature, je l'ai juste découvert", at-il dit.

Depuis sa création en 2001, JSON a gagné en popularité. Le site JSON.org répertorie un nombre de convertisseurs JSON pour des langages tels que Perl, Active Server Pages, PHP, C, Java, Python et autres. Yahoo prend en charge JSON pour ses services Web. Les dernières versions d'Internet Explorer et de Firefox ont toutes les deux un support JSON. JSON "semble être le premier élément d'ECMAScript 5 qui sera déployé universellement", a déclaré Crockford.

JSON lui-même a toujours fait partie d'ECMAScript, du moins dans la mesure où Crockford utilisait la grammaire ECMAScript comme base de JSON. La différence avec ECMAScript 5, a noté Crockford, est qu'ECMAScript dispose d'un "support de bibliothèque intégré" pour JSON. Cela aidera en matière de sécurité.

La plupart des développeurs utilisaient la fonction JavaScript eval () pour analyser le texte basé sur JSON en structures de données utilisables. Les professionnels de la sécurité considèrent cette approche comme une faille de sécurité, car cette forme d'entrée pourrait permettre à des tiers d'insérer du code malveillant. Le nouveau parser élimine le besoin d'utiliser la fonction eval (), dit Crockford.

Tim Bray, co-créateur du format XML et directeur des technologies Web chez Sun Microsystems, a noté que les praticiens XML avec lesquels il a travaillé voient le valeur de JSON. "XML a un tas de fonctionnalités qui permettent d'échanger des documents (articles de blog, communiqués de presse, dossiers médicaux), et ceux-ci peuvent être superflus pour l'échange de données pures", a-t-il noté par e-mail. "JSON fonctionne très bien pour l'échange de ce genre de choses et, comme XML, est bien indépendant des fournisseurs."

Bray doute que la bénédiction de l'ECMA aura beaucoup d'impact sur l'adoption de JSON, car elle est déjà largement utilisée. t souffrent des problèmes d'interopérabilité que les normes traitent habituellement. "Evidemment, il n'y a pas de mal dans l'ECMAScript [révision] reconnaissant la réalité de JSON [mais] JSON est déjà profondément implanté dans la culture IT Web."

ECMAScript est la version neutre du langage de programmation JavaScript, qui était initialement créé par Netscape en tant que langage de script pour les navigateurs Web.