Dart (langage informatique)

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher
Dart
Logo.

Date de première version 2011
Auteurs Lars Bak, Kasper Lund[1],[2]
Développeur Google
Dernière version stable 1.13 ()
Paradigmes Impératif, objetclasses)
Influencé par JavaScript, Java
Système d'exploitation Multiplate-forme
Licence BSD
Site web dartlang.org

Dart (initialement appelé Dash[3]) est un langage de programmation web développé par Google. Son but initial est de remplacer JavaScript pour devenir la nouvelle lingua franca du développement web[3], néanmoins la priorité actuelle des développeurs est que le code Dart puisse être converti en code JavaScript compatible avec tous les navigateurs modernes[2].

Dart peut aussi être utilisé pour la programmation côté serveur[4].

Histoire[modifier | modifier le code]

En 2010, Lars Bak et Kasper Lund, deux informaticiens de Google ayant travaillé sur le moteur JavaScript V8, essaient de créer un nouveau langage de programmation pour le Web, nommé Spot, destiné à construire des applications Web à grande échelle, estimant que JavaScript n'est pas adapté pour ce genre de projets[1]. Fort de ces expériences, ils créent le projet Dash[3], qui deviendra Dart.

Le 12 octobre 2011, Lars Bak et son collègue Gilad Bracha (en) dévoilent Dart au public lors de la conférence GOTO à Aarhus (Danemark)[1]. Dart est présenté comme une alternative à JavaScript en matière de programmation Web, et il était d'ailleurs prévu que le navigateur Google Chrome montre l'exemple en intégrant la machine virtuelle Dart afin de pouvoir interpréter nativement ce langage[3].

Le 14 novembre 2013 sort la version 1.0 du kit de développement Dart[5].

En juin 2014, Dart devient une norme de l'Ecma, l'organisme qui a notamment standardisé ECMAScript, la base de JavaScript[6].

Début 2015, les développeurs annoncent que l'idée d'intégrer Dart dans Chrome a été abandonnée, et qu'ils souhaitent désormais concentrer leurs efforts sur la compilation source à source de Dart vers JavaScript[2], laissant entendre un éloignement par rapport au but initial.

Justification[modifier | modifier le code]

Dart est destiné à résoudre les problèmes de JavaScript (qui, selon un document ayant circulé[3], ne peuvent pas être résolus en faisant simplement évoluer JavaScript) tout en offrant de meilleures performances, la capacité « à être plus facilement utilisable pour des projets à grande échelle », et une meilleure sécurité[7],[8].

Exemple[modifier | modifier le code]

Le fameux programme Hello world :

void main() {
  print('Hello World!');
}

Et une fonction pour calculer le n-ième nombre de Fibonacci :

int fib(int n) {
  if (n <= 1) return n;
  return fib(n - 1) + fib(n - 2);
}

main() {
  print('fib(20) = ${fib(20)}');
}

Une classe simple :

// Importer le module dart:math pour avoir accès à la fonction "sqrt"
import 'dart:math' as math;

// Définition de la classe Point.
class Point {

    // Le mot-clé "final" fait que les variables ne peuvent être assignées qu'une seule fois.
    final num x, y;
    
    // Un constructeur : le sucre syntaxique permet d'initialiser les variables.
    Point(this.x, this.y);
    
    // Un constructeur nommé, avec une liste d'initialisation.
    Point.origin() : x = 0, y = 0;
    
    // Définition d'une méthode.
    num distanceTo(Point other) {
        var dx = x - other.x;
        var dy = y - other.y;
        return math.sqrt(dx * dx + dy * dy);
    }
}

// main() est le point d'entrée des programmes Dart.
main() {
    // Instanciation des objets Point.
    var p1 = new Point(10, 10);
    var p2 = new Point.origin();
    var distance = p1.distanceTo(p2);
    print(distance);
}

Notes et références[modifier | modifier le code]

  1. a, b et c Presentation: "Opening Keynote: Dart, a new programming language for structured web programming" - GOTO Aarhus 2011 conference. Planned official presentation of the Dart language, on October 10.
  2. a, b et c (en) Lars Bak et Kasper Lund, « Dart for the Entire Web », sur dartlang.org,‎ (consulté le 3 novembre 2015)
  3. a, b, c, d et e "Future of Javascript" doc from our internal "JavaScript Summit" last week - Leaked internal Google email
  4. (en) « Dart on the Server », sur dartlang.org
  5. (en) Lars Bak, « Dart 1.0: A stable SDK for structured web apps », sur dartlang.org,‎ (consulté le 12 décembre 2015)
  6. Romaric Hinault, « Dart devient officiellement une norme de l'Ecma », sur Developpez.com,‎ (consulté le 12 décembre 2015)
  7. Google Operating System: Dash, Google's Alternative to JavaScript
  8. Dart : l'alternative à JavaScript de Google bientôt standardisée, Journal du Net, 13 décembre 2013

Voir aussi[modifier | modifier le code]

Articles connexes[modifier | modifier le code]

Liens externes[modifier | modifier le code]