La réponse courte à "Quel est l'état de Dart?" est: c'est dans Technology Preview. C'est une façon particulière de dire: «nous avons lancé tôt pour pouvoir tout ouvrir en open source et travailler en plein air». "Aperçu de la technologie" signifie également "nous ne sommes pas encore en Alpha, nous avons beaucoup de travail à faire, mais il y en a assez pour que vous puissiez jouer avec et donner votre avis".
Le temps sur Internet peut fonctionner pour les actualités ou les itérations de produits de consommation, mais probablement pas pour quelque chose d'aussi ambitieux et large que l'effort Dart. N'oubliez pas, Dart est plus qu'une simple langue. C'est également un ensemble de bibliothèques, une meilleure interface DOM, une machine virtuelle, un éditeur et une intégration avec Chrome. L'équipe travaille très dur sur beaucoup de threads parallèles, mais je m'attends personnellement à ce que cela prenne six mois avant que la plupart des pièces soient en place.
Ce n'est pas vrai que Dart ne fonctionne que dans Chrome. Dart se compile en JavaScript et cible les navigateurs modernes. Bien sûr, Chrome sera le premier à être lancé avec la prise en charge native de Dart, mais garantir que Dart se compile en JavaScript performant et efficace est une contrainte et une fonctionnalité de base du projet.
La vue d'ensemble est que Dart deviendra un environnement de développement «batteries inclus» pour les applications Web modernes. L'objectif principal de Dart est de garantir que le Web reste une plate-forme productive et agréable pour le développement et le déploiement d'applications. Cela signifie que de nombreux éléments doivent être mis en place: langage, bibliothèques, éditeurs, machines virtuelles et intégration de navigateur. Dans l'ensemble, nous pensons que Dart sera une option intéressante pour les développeurs d'applications Web modernes.
La grande grande image est que nous voulons amener les développeurs d'applications sur le Web, et nous voulons que les développeurs Web écrivent des applications Web plus complexes. S'ils utilisent Dart, c'est super. Mais à la fin de la journée, la langue n'a pas d'importance. La seule chose qui compte, c'est que des applications Web complexes, côté client, haute fidélité, faible latence, sont en cours de création.
La langue est en cours de développement. Nous voyons de nouvelles versions de la spécification environ une fois par mois. Les fonctionnalités principales manquent, telles que la réflexion, mais nous continuons à répéter. Nous venons d'ajouter le support map () à Collection, par exemple. Gilad Bracha, un gars qui connaît ses langues (ayant créé NewSpeak et travaillé sur Java Lang Spec) et Josh Bloch, un gars qui connaît ses bibliothèques (ayant écrit Effective Java et travaillé sur les bibliothèques Java Collection) travaillent sur le langage et bibliothèques, ainsi que la plus grande équipe.
Est-ce que les gens considèrent hautement Dart est difficile à généraliser, et cela n'a probablement pas trop d'importance pour vous. Vous devriez tirer vos propres conclusions après avoir joué avec Dart. D'après mon expérience, les développeurs d'applications d'autres plates-formes telles que Java, C # ou Flex trouvent Dart attrayant et familier. Mon expérience avec les développeurs JavaScript est partagée. Si ce développeur JavaScript a également créé des applications sur d'autres plates-formes, il est prudemment optimiste à propos de Dart (ou, du moins, de la solution qu'il essaie de fournir). Si ce développeur JavaScript a grandi sur JavaScript et n'a programmé qu'en JavaScript, il y a plus d'hésitation. Cela pourrait être une préoccupation fondamentale concernant le langage, une hésitation à quitter une zone de confort, ou tout simplement ne pas rencontrer de cas marginaux avec JavaScript. Ce n'est qu'une généralisation, mais je '
Quant à la part de marché, c'est très tôt dans le jeu. Ce n'est probablement pas la bonne question à poser, car Dart n'expédie même pas. Une question plus intéressante serait: "Quelle est la part de marché des applications sur le Web?" puis allez voir comment nous pouvons y remédier.
Quant à une vitrine Web App, l'équipe de Dart a construit Swarm, un lecteur de news élégant. Malheureusement, nous ne l'avons que dans le code source pour le moment: http://www.dartlang.org/samples/index.html
En ce qui concerne certaines fonctionnalités "killer", je dirais qu'il y en a quelques-unes assez intéressantes:
- les types facultatifs sont lisses, ils ajoutent des annotations et des documentations pour les humains et les machines.
- Les isolats sont un excellent moyen d'atteindre la concurrence simultanée de manière sûre.
- Les bibliothèques (modularité) sont absolument nécessaires pour la pile Web, et Dart a des bibliothèques et des classes.
- Les instantanés permettront un démarrage extrêmement rapide
- Les bibliothèques groupées (comme les collections, le chronomètre, etc.) unifieront les bases de code et réduiront le code shippable
- Belle nouvelle interface DOM, ce qui rend le travail avec DOM beaucoup plus agréable. Cela ressemble au code Dart natif.
J'espère avoir répondu à vos questions. Je pense que la seule question qui importe est: "Est-ce que mon langage m'aide à créer des applications Web complexes, haute fidélité, faible latence, modulaires et modernes?" L'état final de tout cela est simplement d'aider plus de développeurs d'applications à proposer des applications plus performantes sur le Web moderne.