mardi 11 octobre 2011

Dart, un nouveau langage pour améliorer le web (by Google)

Dart, un nouveau langage pour améliorer le web (by Google)
Google a annoncé la publication d’un nouveau langage de programmation pour développer des applications web. Dart est orienté flexibilité et performance. En effet, ce dernier s’adapte à toute typologie de projets. Que l’on soit dans une optique mono-développeur ou que l’on fasse intervenir une large équipe de développement.
L’objectif de Google est clairement affiché: bousculer Javascript (mais pas que…) et le remplacer par un langage un peu plus structuré.
Dart est basé sur la notion de classes, bien connues des adeptes de l’OOP (Object Oriented Programming). C’est un langage structuré et typé. On peut, éventuellement, opter pour le non typage, cela ne fera pas de différence majeure en termes d’exécution sauf dans certains cas, et de manière très légère, en termes de performances. Cependant, cela peut aider lors des phases d’analyse (vous savez celles qui… surtout lorsque ça ne marche pas…).
Dart possède deux types de librairies: core et DOM. La première contient l’ensemble des structures de données standard ainsi que les opérations pour les manipuler. La seconde librairie (DOM) possède notamment des interfaces vers le DOM HTML 5 basées sur les spécifications du W3C/WHATWG. Ces interfaces seront appelées à évoluer parallèlement aux modifications que connaîtront les standards de l’HTML 5.
Dart possède deux modes d’exécutions:
  • Un mode natif au sein d’une machine virtuelle (la roadmap inclut une intégration au sein de Google Chrome)
  • Un mode compilé qui traduit le code en javascript
Dans un cas comme dans l’autre, le langage a été optimisé pour les navigateurs majeurs du marché, cependant actuellement seuls Chrome, Safari 5+ et Firefox_4+ sont supportés. Afin d’assurer une adoption facile du langage, la syntaxe de ce dernier a été définie de manière à ce qu’elle soit familière pour les développeurs du web. On y retrouve une grammaire proche de celle du Javascript. On retrouvera également la plupart des notions de la programmation orientée objet dont les contructeurs, l’héritage, attributs et méthodes, interfaces, visibilité. Il est à noter que Dart est en single-thread, cependant Google a implémenté une notion appelée “isolates”. Pour  partager des informations, ces derniers communiquent par messages.
Ci-dessous un exemple (basique) de classe et de son instanciation:
class Point {
 var x, y;
 Point(this.x, this.y);
 scale(factor) => new Point(x*factor, y*factor);
 distance() => Math.sqrt(x*x + y*y);
}
main() {
 var a = new Point(2,3).scale(10);
 print(a.distance());
}
Dart est fourni avec des d’outils (compilateur, librairies and outils d’analyse), aujourd’hui relativement sommaires, mais appelés à évoluer grâce à la communauté. Vous pouvez notamment retrouver l’ensemble des spécifications du langage dans un document compréhensif.
Google n’en est pas à sa première mouture pour produire un langage pour améliorer le développement d’applications. Reste à voir, si la communauté de développeurs adopteront Dart. Mais il est sûr que tant que l’on n’aura pas de communauté forte et active, de frameworks ni de plateformes afin de le supporter, il risque de faire peu de concurrence à Ruby (et son RoR) ou encore Python (et son Django), entre autres. On se posera également, de manière légitime, si Google prévoit un support pour les plateformes mobiles dans un futur proche.
Pensez-vous que Dart aurait un potentiel dans le futur paysage du web ?

 http://fr.locita.com/web-design/developpement-web/dart-un-nouveau-langage-pour-ameliorer-le-web-by-google/

Aucun commentaire:

Enregistrer un commentaire