La deuxième chance de Javascript
C'est le dernier langage à la mode. Javascript, en 2008, a connu une rentrée particulièrement florissante. Poussé par les alizées du Web 2.0, des RIA, d'Ajax, d'applications hébergées et du Saas, ainsi que par des implémentations de plus en plus fines dans les navigateurs, ce langage, mal aimé à l'origine, redevient le langage n°1 du Web. Très logiquement, tout l'intérêt se porte désormais sur l'évolution du standard.
Born Again. Après presque 15 ans d'implémentations, plus ou moins ratées, Javascript est revenu au centre des toutes les attentions des éditeurs de navigateurs - notamment avec Chrome ou Tracemonkey - et des développeurs Web. Moteur du Web 2.0 et composante indissociable d'Ajax, le vilain petit canard des langages Web doit, pour répondre aux exigences de ce nouveau marché, évoluer et s'harmoniser...pour repartir de nouveau.
Fin aout, l'organisme de standardisation Ecma lançait une pierre dans les développements du standard EcmaScript, autre nom de Javascript. L'organisme décidait de stopper les développements de la version 4 du langage. Laissant sur le carreaux certains éditeurs, comme Adobe avec Actionscript 3, qui avait tout miser sur cette dernière génération. En lieu et place, l'Ecma travaillera sur une évolution de sa version 3.1 et sur le projet Harmony, nom symbolique pour évoquer l'élaboration d'un EcmaScript nouvelle génération. L'objectif est bien celui d'harmoniser les développements et faire ainsi tomber les rivalités qui existent entre les membres du groupe de travail.
Concrêtement, la version 3.1 est une mouture née pour combler les lacunes – très populaires – du langage Javascript actuel. Harmony y ajoutera de nombreuses extensions et fonctions extraites de la version 4 (abandonnée, donc, en l'état), mais dans la même synthaxe. EcmaScript 4 devait en effet refondre l'ensemble du language Javascript et le reconceptualiser.
Redonner des lettres de noblesse
Un véritable coup de fouet pour Javascript. Et l'Ecma d'envoyer un signal fort : il est temps de rationnaliser et de s'accorder sur ce que sera l'un des moteurs du Web. Un bienfait selon Stéfane Fermigier, PDG de Nuxeo, éditeur de solution d'ECM (Enterprise Content Management) Open Source, qui explique que cette initiative « donne ses lettres de noblesse à Javascript en tant que vrai langage de programmation ».
Même si beaucoup d'efforts restent à faire en termes d'interopérabilité : « Pendant des années, un développeur JavaScript passait typiquement 1 ou 2 jours à apprendre le langage, et le reste de sa vie à se battre contre les bugs des implémentations des uns et des autres (éditeurs comme Mozilla, Microsoft, Google, Apple), et à développer des rustines dans son code pour les contourner.(...) On peut donc dire que EcmaScript 3.1 une très bonne chose et donne l'espoir que les différents auteurs d'implémentations de JavaScript convergent vers une implémentation fidèle de la norme." L'Ecma pose ainsi les premières pierres qui devront stabiliser et structurer l'édifice chancelant Javascript.
Structurer les outils de développements
Reste alors à s'attaquer aux développeurs et à leur utilisation du langage. C'est ce à quoi s'est attelée l'OpenAjax Alliance. Ce consortium, qui réunit notamment Adobe, Microsoft, IBM, Eclipse et Sun, et Aptana, a annoncé plancher sur un format unique de données fournies par l'ensemble des bibliothèques Javascript du marché, qui pullulent sur le Web. L'objectif : l'interopérabilité des environnements de développement du marché.
Ces bibliothèques, comme Prototype ou Jquery, « fournissent aux développeurs d'applications une ou des API propres et "universelles" et qui leur masquent les différences, parfois importantes, entre les différentes implémentations ou les versions de ces implémentations », commente Stéfane Fermigier. Le format OAM (OpenAjax Metadata) sera ainsi la spécification XML qui doit cimenter les bibliothèques aux IDE. Indispensable pour la pérénnité des développements à grande échelle.
La mauvaise image Javascript
Cet ex-futur chouchou du Web, créé par Netscape et Sun en 1995, souffrent depuis longtemps d'une mauvaise image de marque auprès des développeurs et des architectes logiciels. Ces derniers lui reprochant notamment son API complexe et peu claire, ses fonctions bancales.
Mais « depuis que le navigateur, là où Javascript est interprété, est devenu la plateforme centrale de diffusion du Web, Javascript est devenu le langage n°1 du Web », comme le souligne Douglas Crockford, architecte Javascript chez Yahoo et développeur de JSON (JavaScript Object Notation – un format de données générique), dans un article baptisé « le langage de programmation le plus malcompris du monde est devenu le langage de programmation le plus populaire du monde ». En ce sens, les initiatives de l'Ecma et de l'OpenAjax Alliance concrétisent bien ce que pourrait être la seconde chance du langage.