Avec le langage Dart, Google veut supplanter le JavaScript

Mais le succès passera aussi par les concurrents 226
Vincent Hermann
Dire que Google a de grandes ambitions pour le web relève de l’euphémisme. Plus précisément, la firme crée ses propres produits et technologies quand les existants ne lui conviennent pas. Et elle revient cette fois avec la préversion d’un langage qu’elle désigne sans le dire comme le remplaçant de JavaScript dont elle aurait gommé les principaux défauts. Le nom de ce nouveau venu ? Dart.

dart 

Google propose donc Dart comme solution de remplacement de JavaScript. Non que JavaScript soit un mauvais langage, mais ses prérogatives sont allées bien au-delà des ambitions de ses créateurs initialement. Désormais, ce langage est au cœur de l’immense terrain de batailles des services et applications web et son utilisation est pratiquement indissociable du HTML5. Même Microsoft en a fait un élément important de Windows 8 en le proposant comme choix possible lors de la création d’une application Metro utilisant WinRT.

Pour la petite histoire, Dart est un projet en gestation depuis un bon moment chez Google. Il y a environ un mois, un mémo interne de la société a fuité et est devenu public. Des employés y indiquaient notamment il y a un an que le JavaScript portait en lui des failles inhérentes à son modèle, et que de simples mises à jour ne seraient pas suffisantes. Notez d'ailleurs que Google ne fait jamais directement référence à JavaScript dans sa communication, mais le but est tout de même bien celui-ci.

La première différence de Dart est que l’on peut utiliser un typage. « Peut » car il n’est en effet pas obligatoire. On imagine que Google n’aura pas voulu rompre de manière trop brutale les habitudes des développeurs web puisque c’est bien eux que le langage vise en priorité. Le typage peut être dynamique ou statique.

Les autres points importants de Dart sont :
  • Les classes pour permettre l’encapsulation et la réutilisation des méthodes et données
  • Les bibliothèques
  • De nombreux outils sont prévus pour le développement dynamique, le debugging et autres
Via ces attributs, le grand objectif de Dart est de participer à la création d’applications web structurées en alliant simplicité, flexibilité et surtout lisibilité.

dart 
Un exemple de code rédigé en Dart

La préversion inclut une machine virtuelle et un compilateur, mais le succès de Dart dépendra de l’inclusion de cette machine virtuelle dans les navigateurs, et donc de la volonté des éditeurs. Pour l’instant, aucun ne le peut, pas même Chrome, bien que ce point soit en travaux. En attendant, le code rédigé en Dart peut être compilé en JavaScript via un outil spécifique livré avec la préversion. Mais attention car la compatibilité du code JavaScript après traduction est limitée à Chrome, Firefox 4+ et Safari 5+. Opera et Internet Explorer ne sont donc pas de la partie pour l’instant.

Mais la vraie question, en dépit des aspects techniques de Dart, est davantage de nature politique. Pour que le langage perce, il faut en effet beaucoup plus que des aspects attirants pour les développeurs. Par exemple, si Mozilla, Microsoft ou encore Apple décident de ne pas implémenter de machine virtuelle Dart dans leurs navigateurs respectifs, la diffusion du langage sera limitée. Il restera bien entendu possible de traduire les développements en JavaScript, mais cette étape supplémentaire brise quelque peu l’intérêt initial du produit.

En attendant, les développeurs intéressés pourront se renseigner et récupérer la préversion depuis le site officiel