Dart est en fait un nouveau langage de programmation proposé et développé par Google..

Google a créé le langage pour résoudre certains problèmes existants en JavaScript, mais peut-il réellement le remplacer ou provoquer des maux de tête?

Découvrons plus.

Q. Dart ne ressemble pas à quelque chose dont le monde a besoin. Ou faisons-nous?

UNE. La raison spécifique du développement de Dart est la création d’un langage moderne flexible, rapide et utile pour la création d’applications Web. C’est donc un domaine qui intéresse vivement de nombreux développeurs et utilisateurs..

Q. Je pensais que nous avions déjà un langage pour ça? N'est-ce pas ce que JavaScript est pour?

UNE. C'est l'une des principales questions litigieuses entourant Dart. JavaScript n'a pas vraiment été créé avec l'idée de créer des applications Web compliquées; il a été conçu pour manipuler le DOM (Document Object Model) ou, en d’autres termes, pour jouer principalement avec la partie affichage / interface de l’application. Ce n'était pas vraiment conçu avec la connaissance préalable des tâches qui sont maintenant attendues.

Q. N’est-ce pas la partie affichage que j’utilise dans mon navigateur??

UNE. Lorsque les applications Web étaient très simples, oui. Mais il est utile de connaître un peu le contexte ici.

Avant la génération actuelle d'applications Web, si vous vouliez effectuer un traitement à distance sur une tâche, vous utilisiez un modèle client / serveur. Le client se connecterait au serveur et échangerait des informations, généralement avec l'application cliente gérant la saisie et l'affichage, et le serveur effectuant tout le travail lourd. C'est le monde de l'informatique client léger tel qu'il était.

Le problème avec ce système est que le maintien d'une connexion persistante au serveur est «coûteux», ce qui aliène les ressources du serveur. La solution consistait à créer une sorte de modèle de serveur sans état, qui effectuerait une tâche et renverrait les informations requises, puis l'oublierait - comme une sorte de sous-programme en ligne..

Cela signifie que la cohérence incombe au client: l’application Web doit se souvenir de ce qui se passe, contrôler l’interface, etc. Les applications Web étant de plus en plus complexes, cela signifie plus de travail. C'est un travail plus important que de simplement restituer les informations dans une police différente.

Q. Mais JavaScript a fait ce travail, n'est-ce pas??

UNE. Oui il a. Il est vraiment remarquable que les choses aient été construites avec les technologies JavaScript et Ajax. Nous y sommes habitués maintenant, mais souvenez-vous que des choses telles que Google Maps étaient étonnantes au moment de leur création..

Mais ce n'est pas sans critiques ni problèmes. L'un des problèmes mineurs est que, bien que la partie interface utilisateur de l'application soit en JavaScript, JavaScript n'est pas très performant côté serveur. Presque toutes les applications sont écrites en Java côté serveur, ou quelque chose de similaire. Cela ne semble pas trop poser de problème, mais c’est plus agaçant pour les personnes qui essaient de créer des applications Web..

En outre, JavaScript est assez basique. Presque toutes les applications utilisent une bibliothèque telle que JQuery pour faciliter la création et rester cohérent entre les navigateurs. La compatibilité du navigateur est un problème, mais Dart vise à inclure une grande partie de cette fonctionnalité dans le langage lui-même. C'est un peu maladroit et plus inefficace qu'il ne devrait l'être.

Q. Mais il faudra toujours que les gens développent en Dart et en Java?

UNE. Pas nécessairement. Dart est conçu pour être exécuté en tant que machine virtuelle (tout comme Java), il n’ya donc aucune raison pour qu’il ne puisse pas également être exécuté côté serveur. Il est également conçu comme un vrai langage - il comporte de nombreuses constructions et fonctionnalités utiles pour créer de grandes applications, qui n'existent pas de la même manière en JavaScript..

Q. Mais même dans ce cas, tout le monde devra apprendre une nouvelle langue - cela ne peut pas être bon?

UNE. Ce n'est pas si grave, car elle emprunte beaucoup au familier. C'est similaire à des choses telles que Java et C, et même JavaScript par endroits. Il ne faudrait pas longtemps à un programmeur JavaScript compétent pour comprendre les bases de Dart.

Et vous oubliez que cela simplifie beaucoup de choses difficiles, car elles ont été conçues pour les applications Web. Il aborde des problèmes tels que le temps de démarrage, le ramassage des ordures et le threading. Il vaut la peine d'apprendre un peu plus de syntaxe pour gagner du temps de développement..

Q. Tout cela sonne bien. La communauté des développeurs doit être ravie!

UNE. Eh bien, pas exactement. Vous voyez, beaucoup de gens utilisent JavaScript depuis des années et des années, ont bâti des entreprises autour de celui-ci, développé des outils pour le faire et savent comment cela fonctionne. Ils voient dans l'introduction d'un nouvel outil une sorte de menace. Donc, beaucoup de développeurs sont à l'opposé de la joie.

Q. C'est compréhensible. Mais les développeurs de navigateurs Web doivent au moins être satisfaits.

UNE. Et bien non. Encore une fois, beaucoup d’entre eux y voient une menace. N'oubliez pas que Google occupe déjà une large part du marché des navigateurs avec Chrome..

Si c’était aussi pour contrôler le développement du langage que tout le monde utilise pour écrire des applications Web, vous pouvez voir comment les gens pourraient commencer à penser que tout cela était un peu comme un problème..

Mozilla a déjà suggéré de ne pas incorporer le support Dart dans les futures versions de Firefox. Encore une fois, Brendan Eich travaille pour Mozilla (et il a inventé le JavaScript).

Q. Il semble donc que Dart ne sera probablement disponible que dans Chrome..

UNE. Eh bien, je suppose que vous avez une meilleure boule de cristal que nous…

Q. Eh bien, si la majorité des développeurs ne le veulent pas et que la majorité des navigateurs ne veulent pas le supporter, cela ressemble à un non-démarreur…

UNE. Nous soumettons respectueusement que, s’agissant des technologies Web, les développeurs ne sont pas les personnes les plus importantes, mais les utilisateurs. Imaginez un monde dans lequel vous pouvez exécuter vos applications comme d’habitude, très rapidement ou avec des fonctionnalités supplémentaires. Quelle option allez-vous choisir?

Il n'est pas trop difficile de voir un avenir où Google Mail, Google Docs, Google Maps et Google fonctionnent mieux ou sont améliorés dans Chrome. Ergo, les gens voudront les exécuter dans Chrome. Et s’ils voient un avantage concurrentiel, d’autres voudront que leurs applications fonctionnent sous Dart.

Avec le système d'exploitation Chrome et la boutique d'applications Chrome, Google offre de nombreuses possibilités de fournir des applications plus rapides et de meilleure qualité. Au moins, cela semble être le plan.

Q. Mais n’est-ce pas aussi une source de discorde, et ce que Microsoft a essayé de faire avec ActiveX et Internet Explorer??

UNE. Eh bien, oui, c'est un peu similaire. Google est un peu plus ouvert sur la technologie. Il a été créé sous la licence BSD révisée. Le code lui-même est donc aussi ouvert que possible..

Q. Ce n'est pas le point, si les gens vont être forcés dans un Internet à deux niveaux.

UNE. Non, mais personne ne suggère que les gens seront obligés d'utiliser Dart. Ce qui est souvent négligé, c'est qu'un grand nombre de développeurs mondiaux d'applications Web travaillent pour Google. S'ils veulent créer un nouvel outil plus adapté à leur utilisation et, en tant que sous-produit, le diffuser gratuitement dans le reste du monde, devrions-nous vraiment nous plaindre??

Q. Eh bien, cela semble toujours être un non-démarreur. Pourquoi quelqu'un créerait-il une application Web qui ne fonctionnerait pas dans la majorité des navigateurs??

UNE. Il existe une solution de contournement possible à cela: un compilateur croisé qui générera du code JavaScript à partir de code Dart. Bien que, pour le moment, cela ne fonctionne pas si bien. Une simple application 'Hello world' se transforme en 180k de code.

Q. Hah! Voilà pour l'efficacité…

UNE. Eh bien, nul doute que cela s'améliorera, car cela pourrait être l'une des clés pour que Dart soit plus largement accepté en dehors de Google..

Q. Je ne vois toujours pas d'avenir. De plus, Google semble plutôt plus apte à fermer ses portes qu'à créer de nouvelles choses… Buzz, Wave, Labs…

UNE. Hé bien oui. Ce serait un peu risqué de gagner votre vie avec Dart. Mais comme mentionné précédemment, même s’il n’était utilisé que par Google eux-mêmes, Dart aurait toujours un impact énorme sur le Web, et vraisemblablement pour Google eux-mêmes, dont les factures de serveurs devaient être assez terrifiantes. De petites économies d’efficacité réalisées par Google pourraient aller au-delà du bonus bancaire.!

Q. Malgré tout, cela semble profiter à Google uniquement..

UNE. La raison spécifique du développement de Dart est la création d’un langage moderne flexible, rapide et utile pour la création d’applications Web. C’est donc un domaine qui intéresse vivement de nombreux développeurs et utilisateurs..

Q. Nous devrions donc surveiller cet espace…

UNE. Tu as probablement raison. Si vous souhaitez extraire le code actuel dans la langue Dart, il est hébergé sur, entre autres, Google Code (http://code.google.com/p/dart). Le langage lui-même, y compris de la documentation déjà utile et des outils de développement (bien entendu, les plug-ins eclipse), est disponible sur le site principal à l'adresse dartlang.org.