Fabien Huet

Fabien
Huet

Web ninja //
CTO on demand

Home Github About me

Dart, en plein dans le mille

in Code fr

Dart est le langage lancé fin 2011 par Google pour remplacer le javascript sur internet. C’est un langage open-source pour produire des appli web utilisées directement dans le navigateur.

Autant vous le dire tout de suite, je suis TRÈS enthousiaste ! [ http://fr.wikipedia.org/wiki/Dart_(langage_informatique) ]( L’article de wikipédia sur Dart.) [ http://www.dartlang.org/" ]( Le site du projet Dart. )

Il ne s’agit pas d’oublier html et css pour présenter les données, mais pour agir sur ce qu’on a à l’écran on emploie une autre solution que le javascript. Il est possible d’utiliser le code directement dans un navigateur qui sait l’interpréter (chrome) ou le convertir directement en js dans l’EDI de Dart.

Oui, vous avez bien lu : “l’EDI de Dart”. Dart n’est pas livré seul et on ne doit pas se débrouiller avec le notepad. On a un véritable EDI qui run les appli, les débuge… Bref ce qui manque le plus à javascript en fait.

Le tout est encore dans une version alpha, mais c’est déjà vraiment pas mal pour un langage avec une seule année d’existence. Les exports js sont même utilisables en prod pour de tout petits projets.

Quelques caractéristiques

Le côté ubiquitaire du web

Le débat entre développement natif et développement web évolue avec le temps. Et aujourd’hui, il évolue plutôt en faveur du web. Notamment parce-que les navigateurs gagnent considérablement en puissance version après version ; c’est presque toujours des améliorations à 2 chiffres qui sont annoncées à chaque mise à jour des moteurs javascript. Même [http://www.developpez.com/actu/47568/Intel-mise-sur-le-HTML5-pour-le-developpement-multiplateforme/">intel mise sur le HTML5 pour le futur).

Mais la puissance croissante des navigateurs n’est pas la raison qui me fait préférer le développement web. Je reste de toute façon convaincu qu’une appli native sera toujours plus puissante et mieux optimisée techniquement qu’une appli web. Ce qui me fait pencher pour le web, c’est le côté cross-platform. On développe une fois, on déploie partout.

Le spectre des os et des écrans dans son ensemble est de plus en plus large. Une appli native, qu’elle soit un .exe un .app, une appli ios, une appli android, une appli windows phone… Ne représente jamais qu’une part minoritaire des utilisateurs. Le portage d’appli, c’est long et c’est souvent hors budget ou très mal fait. Avec les solutions comme [http://phonegap.com/">phonegap), il est possible de compiler des appli natives à partir d’appli web classiques. Oui, ça sera toujours moins bon qu’une appli native parfaitement optimisée… Mais si l’on est sur une appli qui ne va pas trop tirer sur les cpu et gpu, il n’y a pas de raison d’aller chercher l’optimisation parfaite.

Bref, même si je pense que certains élément du parc applicatif devraient rester conçu et compilés pour du natif, ce n’est pas ce que je souhaite faire et je suis convaincu que Dart est un formidable outil pour aller vers de l’appli web.

Je prépare une petite série d’articles avec des exemples sur le langage pour répondre aux questions que certains peuvent se poser et encourager les gens à s’y mettre.