Devoxx – Les nouvelles applications HTML 5 et DART


HTML 5 est sans conteste un des sujets phare de ce Devoxx 2011. Pour preuve la salle est bien remplie. Lors de cette présentation David Chandler commence par nous  montrer comment HTML 5 peut nous aider à simplifier la conception et l’utilisation des applications Web. Il nous rappelle également que les versions récentes des navigateurs prennent en charge le HTML 5, mis à part Internet Explorer (étonnant non ?)

 

 

 

 

 

David commence par poser la question suivante : comment créer une application Web avec le comportement d’une application desktop ? La réponse réside dans de petites démonstrations des possibilités d’HTML 5 :

  • Sauvegarde de fichiers du navigateur vers le filesystem et inversement.
  • Sauvegarde des données saisies localement
  • Détection des déconnexions et reconnexions automatique.

Assez bluffantes, ces fonctionnalités se mettent en place en seulement quelques lignes !

David poursuit avec le CSS3 et nous parle des possibilités de transitions et d’animations. Pour les fans de jeux, la version Web d’Angry Birds est basée sur CSS3 et lorsque nous voyons le résultat, nous ne pouvons qu’être admiratifs.

Vient ensuite une discussion autour de la conception des applications. David nous explique que les frameworks MVC (Backbone, ExtJS, etc) nous impose une limitation de par leur structure.

Une première solution réside dans l’utilisation du triplet HTML, javascript et CSS, mais cette dernière pose un certain nombre de problèmes :

  • Manque de performances.
  • Difficulté de debugging.
  • Pas de typage fort, rendant le développement d’outils difficile.

La seconde solution est l’utilisation du framework GWT. Le principe est de coder du Java qui est automatiquement « traduit » en javascript. Ce dernier permet d’adresser les problèmes précédemment cités, mais GWT reste difficile à maîtriser et peut se révéler lourd à mettre en place.


David nous présente alors DART. Ce dernier est né de la volonté d’avoir un langage de scripting plus léger tout en utilisant la structure d’un langage orienté objet. Dart est un langage construit pour plaire à la fois aux personnes fluides en Java ou en JavaScript. La courbe d’apprentissage devrait être particulièrement courte pour ces deux populations. Aujourd’hui Dart est un langage qu’il faut « compiler » pour produire du javascript, dans la même veine que coffeescript.

Voici un exemple de code en DART :

interface Shape {
  num perimeter();
}

class Rectangle implements Shape {
  final num height, width;
  Rectangle(num this.height, num this.width);  // Compact constructor syntax.
  num perimeter() => 2*height + 2*width;       // Short function syntax.
}

class Square extends Rectangle {
  Square(num size) : super(size, size);
}

Nous retrouvons ainsi les notions de classes, interfaces et méthodes entre autres.

Concernant l’outillage, nous avons à disposition Dart VM, dartc (compilateur javascript écrit en java), frog (compilateur javascript écrit en Dart, qui fait figure de futur compilateur) et le dartboard. Un début d’IDE Dart (appelé Dart Editor) existe également pour Eclipse. Tous ces éléments peuvent être retrouvés sur le site du langage. Il est à noter que Dart est encore en version alpha, et que des changements dans le langage vont encore intervenir. Il n’existe pas non plus de binaire disponible en téléchargement pour toutes les plateformes, mais nous sommes invités à télécharger les sources et à construire les différents outils (VM, compilateur etc..)

David termine sa présentation en nous expliquant qu’il reste encore du travail sur ce langage, mais que Google travaille d’arrache pied pour nous donner la possibilité de développer du javascript avec une syntaxe allégée. Notamment ils discutent avec l’équipe en charge de Google Chrome pour une intégration native de Dart dans le navigateur, poussant pour que demain, les navigateurs du marchés embarquent une vm dart, comme ils embarquent aujourd’hui une vm javascript.

Nul doute que l’évolution de ce langage est à surveiller et que ce dernier fera parler de lui dans les mois à venir.

Les slides de cette présentation sont disponibles, en html5 bien sur.

Laisser un commentaire