Actionscript & ECMA Script, le divorce forcé…

18 août 2008 – 13:33

Cela fait deux jours que je parcours un peu tous les blogs que je connais à propos de l'annonce d' ECMA International de laisser tomber la version 4 d'ECMA Script (ES4) pour se concentrer sur la prochaine version d' ECMA Script 3.1 (ES3.1), j'en profite pour faire un petit résumé et donner mon avis sur les conséquences de cette décision.

Histoire d'un peu mettre tout le monde dans le contexte, ECMA est une organisation internationale qui s'occupe de définir des standards dans le domaine de l'information et de la communication. Ecma Script est un langage de script standardisé par ECMA International et utilisé de diverses manières sur internet. On en a tous entendu parler sous le nom de Javascript et plus particulièrement Actionscript pour les flash/flex développeurs.

En effet, Adobe a pris le temps de faire d'actionscript est langage conforme au standard Ecma Script. Pour être plus précis, actionscript 3 a toujours été présenté comme une implémentation du futur ES 4. Cependant Adobe a utilisé une version brouillon de ES 4; en d'autres mots, actionscript 3 est conforme à un standard qui n'a pas encore été validé comme tel et qui sans doute ne le sera pas avant longtemps. Le problème étant que le comité chargé de valider ces propositions a décidé de laisser tomber Ecma Script 4 en faveur d'Ecma Script 3.1. qu'on appelle aussi Ecma Script Harmony...

Depuis un moment le développement d'Ecma Script était scindé en deux groupes. Google, Adobe, Mozilla et Opera se focalisaient sur ES 4 alors que Microsoft et Yahoo préféraient évoluer vers un Ecma Script 3.1 moins ambitieux. La raison officielle de cet abandon serait que certains changements dans ES 3.1 allaient poser problème à la version ES 4. (oooh...) Mais de ce que j'ai pu lire, il me semble plus probable que la vrai raison soit encore une fois une question d'argent surtout pour Microsoft.

Adobe a misé beaucoup sur Ecma Script 4, les plateformes Flash et Flex utilisent actionscript 3 et ce n'est pas sans raison si Adobe a fait cadeau du projet Tamarin à Mozilla, en leur donnant le moyen de rapidement implémanter le support d'ES 4. Et il ne le cache pas :

The goal of the "Tamarin" project is to implement a high-performance, open source implementation of the ECMAScript 4th edition (ES4) language specification.

Cette démarche n'est pas dénuée de sens, faire évoluer Ecma Script demande que les navigateurs puissent supporter la nouvelle version du langage, cela prend du temps et donc de l'argent.

Adobe donne un coup de pouce car il a tout à y gagner. Ce qui n'est pas le cas de Microsoft qui va devoir développer une nouvelle version de son navigateur Internet Explorer s'il veut respecter le futur standard. Ce dernier a d'ailleurs déclaré qu'il ne ferait pas les frais de ce développement... ce qui veut dire que lorsqu'on s'appelle Microsoft et qu'on a un navigateur qui domine largement parmis les autres sur internet on peut se permettre de décider des standards, parce qu'il est évident que si IE ne supporte pas Ecma Script 4 peu sont les développeurs qui franchiront le pas.

Il suffit de voir la position de Microsoft à propos des futurs changements dans Ecma Script 4.


Et comme le dit très bien Hank Williams sur son blog :

Adobe and Microsoft are bitter rivals, and the last thing Microsoft would be willing to accept is wide-spread adoption of a language that is strategically critical to a competitor.

Finalement actionscript 3 n'est donc pas conforme au futur Ecma Script 3.1 puisque ce dernier n'a pas intégré tous les changements d'Ecma Script 4.

Allons-nous devoir faire marche arrière pour rester conforme ?
Retirer les "namespaces", " package" etc.
Bien entendu non, heureusement, Adobe a déjà répondu à cette interrogation.

Conclusion, l'innovation est bien souvent sabotée de l'intérieur, les standards prennent du temps à être mis en place, mais Adobe n'aura pas le temps d'attendre, Actionscript est devenu un langage propriétaire par la force des choses.

Reste à voir comment Adobe va tirer son épingle du jeu maintenant qu'il se retrouve seul avec une technologie sur laquelle il a misé ses derniers projets (Flash, Flex, Air, Tamarin, Thermo, etc.)

Post a Comment