BT
x Votre opinion compte ! Merci de bien vouloir répondre au sondage InfoQ concernant vos habitudes de lecture !

Le compilateur Dart compilé par Dart compile du code Dart dans votre navigateur

par Zef Hemel , traduit par Yohan Beschi le 14 juin 2013 |

Google a réactivé le site try.dartlang.org qui permet à tout un chacun d'essayer Dart sans avoir à télécharger et installer le SDK. Contrairement à son prédécesseur, la nouvelle version compile du code Dart en JavaScript dans le navigateur, et par conséquent, fonctionne hors-ligne. Il supporte aussi la bibliothèque dart:html permettant la manipulation du DOM HTML. Cependant, son implémentation est probablement l'aspect le plus impressionnant de try.dartlang.org.

Peter von der Ahé a annoncé la release sur Google+ :

Nous avons réactivé try.dartlang.org. Comparée à l'ancienne version, la nouvelle offre une compilation dans le navigateur, le support de dart:html et fonctionne hors-ligne. Si vous avez un appareil fonctionnant sous iOS, vous pouvez installer Try Dart! sur votre écran d'accueil.

Alors qu'il y a des terrains de jeux similaires pour la plupart des langages, -à l'instar de try ruby ou repl.it qui offre un environnement REPL (Read Eval Print Loops) pour de nombreux langages tels que Python, JavaScript, Lua et beaucoup d'autres- la plupart de ces sites envoient le code saisi par l'utilisateur à un serveur, qui l'exécute et renvoi le résultat au client. Try.dartlang.org est différent puisque qu'il compile et exécute le code dans le navigateur.

Mais comment cela fonctionne-t-il ? Comment l'équipe Dart a-t-elle fait pour avoir son compilateur Dart vers JavaScript (appelé dart2js) dans un navigateur ? En regardant le code présent dans le repository du projet try.dartlang.org, le principe est révélé.

Le compilateur dart2js -lui-même écrit en Dart- est habituellement exécuté en utilisant la machine virtuelle Dart inclue dans le SDK. Cependant, pour try.dartlang.org, l'équipe Dart a dû compiler dart2js en JavaScript à l'aide de lui-même, produisant un fichier de 457Ko. Cette version JavaScript est chargée dans le navigateur et est appelée chaque fois que le code Dart dans l'éditeur change. Le code JavaScript résultant est ensuite évalué et affiché.

Bien qu'utiliser dart2js dans un navigateur ne soit pas un exemple typique d'applications web que l'on développe habituellement en utilisant Dart, bootstrapper le compilateur dart2js de cette manière est un exploit technique impressionnant.

try.dartlang.org dispose de nombreux exemples de code, pouvant être exécutés et modifiés simplement pour mieux comprendre comment fonctionne le langage. Les exemples vont du simple Hello World au plus complexe benchmark Delta Blue.

Bonjour étranger!

Vous devez créer un compte InfoQ ou cliquez sur pour déposer des commentaires. Mais il y a bien d'autres avantages à s'enregistrer.

Tirez le meilleur d'InfoQ

Donnez-nous votre avis

Html autorisé: a,b,br,blockquote,i,li,pre,u,ul,p

M'envoyer un email pour toute réponse à l'un de mes messages dans ce sujet
Commentaires de la Communauté

Html autorisé: a,b,br,blockquote,i,li,pre,u,ul,p

M'envoyer un email pour toute réponse à l'un de mes messages dans ce sujet

Html autorisé: a,b,br,blockquote,i,li,pre,u,ul,p

M'envoyer un email pour toute réponse à l'un de mes messages dans ce sujet

Discuter

Contenu Éducatif

Rien ne serait possible sans le soutien et la confiance de nos Sponsors Fondateurs:

AppDynamics   CloudBees   Microsoft   Zenika
Feedback Général
Bugs
Publicité
Éditorial
InfoQ.com et tous les contenus sont copyright © 2006-2014 C4Media Inc. InfoQ.com est hébergé chez Contegix, le meilleur ISP avec lequel nous ayons travaillé.
Politique de confidentialité
BT