Google publie une pré-version de Chrome avec la machine virtuelle Dart

Le , par Idelways, Expert Confirmé Sénior
Mise à jour du 17/02/2012, par Hinault Romaric

Google vient de publier une préversion (technical preview) pour les développeurs de Dartium, un navigateur à base de Chrome qui introduit la machine virtuelle Dart.

Dart est présenté par Google comme un langage de programmation structuré pour le Web, basé sur les classes et optionnellement typé.

L’objectif inavoué de Google est de mettre JavaScript à la retraite en proposant un langage qui offre la même flexibilité que celui-ci, mais qui se distingue par son typage fort et optionnel.

Dart s'exécute soit sur une machine virtuelle native du côté serveur ou sur un moteur JavaScript classique à l'aide d'un compilateur qui convertit le code en JavaScript compatible avec Chrome, Safari 5+ et Firefox 4+, etc.

Cette préversion permettra d’exécuter des programmes Dart directement sur la machine virtuelle Dart incluse dans le navigateur Chrome, en évitant une étape de compilation séparée pour convertir le code.

Google a l’intention, après plusieurs tests de la VM Dart, de l’inclure dans les futures versions de son navigateur Chrome.

Pour l’instant, le langage bénéficie uniquement du support de Google, et aucun constructeur de navigateur n’a encore indiqué son intention de supporter Dart. La firme espère néanmoins atteindre un certain stade de maturité avec Dart avant de le soumettre à un processus de normalisation.

Dartium est disponible pour les ordinateurs Mac et Linux. Une version pour Windows sera disponible dans les jours à venir.

Télécharger Dartium

Source : Google

Dart : Google dévoile la nature de son JavaScript-killer
Un langage flexible et optionnellement typé, conçu pour les hautes performances

Mise à jour du 10 octobre 2011 par Idelways

Les rumeurs viennent d'être confirmées au sujet du nouveau langage de programmation de Google. L'entreprise a officiellement dévoilé la nature et les ambitions de son langage Dart à la conférence Goto qui se déroule au Danemark.

Les spéculations autour du « langage de programmation structurée pour le Web » ont été déclenchées par une discrète annonce sur le planning de cette conférence. Puis, elles ont été confortées par la fuite d'un email interne de Google (lire ci-devant)

Une première Preview sur le site officiel du langage met à disposition des développeurs des outils open source de création d'applications, des exemples de code, la documentation de sa bibliothèque standard et un brouillon des spécifications du langage.

Dart est défini en tant que « langage basé sur classes et optionnellement typé », sur l'annonce officielle par Lars Bak, le créateur du moteur JavaScript V8 et membre de l'équipe Dart.

Logo de Dart


Les objectifs de la conception du langage visent à créer un langage « structuré, mais flexible », qui semble « familier et naturel pour les développeurs, et faciliter ainsi son apprentissage ».
Enfin (et surtout), Dart est amené à afficher de hautes performances sur tous les navigateurs et environnements modernes, « à partir des périphériques portables jusqu’à l'exécution du côté serveur », confirme l'ingénieur émérite de Google.

Dart se distingue du JavaScript, dont il a l'ambition de supplanter, par son typage fort, mais optionnel. Les développeurs peuvent donc coder avec la même flexibilité qu'en JavaScript et ajouter le typage par la suite, voir se faciliter cette tâche à l'aide d'outils d'analyse et d'inférence de types.
Dart suit un modèle objet assez complet et plus classique que celui du JavaScript (qui est basé sur le prototypage). Il supporte notamment les concepts d'implémentation d'interfaces et d'héritage simple.

Dart s'exécute soit une machine virtuelle native du côté serveur ou sur un moteur JavaScript classique à l'aide d'un compilateur qui convertit le code en JavaScript compatible avec Chrome, Safari 5+ et Firefox 4+ (d'autres navigateurs suivront).

Sans surprise, les scripts Dart peuvent cohabiter avec le code HTML à travers la balise script qui prend le type « application/dart », qui est par la même occasion le mime-type du langage. La fonction main() du style C est obligatoire.

Bien qu'il soit monothread, la programmation concurrente est dès le départ au centre des préoccupations de l'équipe Dart. Le langage supporte les « isolations » qui ont chacune leurs propres mémoire et thread de contrôle. Aucun état n'est partagé entre les isolations qui sont créées par spawning (des fonctions qui chargent et exécutent des processus fils).

L'équipe de Dart envisage d'intégrer la machine virtuelle de Dart au navigateur Chrome, mais aucune date n'est avancée.

Et en voici le traditionnel Hello World !

Code :
1
2
3
4
 
main() { 
  print('Hello World'); 
}

Site officiel : dartlang.org
Spécifications du langage

Source : annonce officielle sur le blog Googlecode

Et vous ?

Alors, vous comptez vous y mettre ?
Que pensez-vous du langage Dart ?

Google souhaite-t-il pousser JavaScript vers la sortie avec Dart ?
Son nouveau langage de programmation Web

Mise à jour du 14 septembre 2011

Le langage de programmation Dart sur lequel Google met les dernières retouches avant sa présentation en octobre devrait succéder au langage JavaScript, afin de pallier aux « défauts fondamentaux » qui ne peuvent être corrigés en faisant simplement évoluer le langage.

Des défauts qui ralentissent le développement d'applications Web complexes, devenu « beaucoup trop difficile » et un véritable « labyrinthe déroutant ».

Ce serait en tout cas les ambitions de Google à en croire le contenu fouillé d'un email supposé provenir du chercheur émérite Mark S. Miller et adressé à de nombreux collègues de Google.
Un mail qui remonte au 16 novembre 2010 et dont le texte intégral peut être retrouvé sur Github.

L'auteur de l'email évoque deux stratégies pour pousser JavaScript vers la sortie et le suppléer par le langage « Dash » (qui aurait changé de nom pour devenir Dart). Un langage « destiné à maintenir la nature dynamique de JavaScript, mais avec un meilleur profil de performance et qui se prête mieux au “tooling” sur les grands projets ».

La voie Dash ou Dart, « très risquée, mais d’une grande valeur ajoutée », implique, toujours d'après l'email, que le langage soit open source et soutenu pour qu'il soit supporté sur d'autres navigateurs.

Le langage — dans la vision de Mark S Miller — ne devrait pas (du moins en un premier temps) faire plus que ce que JavaScript permet de réaliser au niveau du navigateur, puisqu'il propose qu'un compilateur de code Dash vers JavaScript soit mis à la disposition des développeurs pour cibler les navigateurs qui ne le prennent pas en charge nativement.

Google pourrait donc tenter d'accélérer l'adoption (non native) de son langage en prenant à sa charge la création de plug-ins pour les autres navigateurs. Il n'en est en effet pas à sa première intervention comme en témoigne l'épisode « Chrome Frame », pour Internet Explorer.

Dash pourrait donc être utilisé comme le langage open source CoffeeScript qui compile en JavaScript, avec le but ultime « de remplacer JavaScript comme une lingua franca pour le développement sur la plateforme Web ouverte »

Entre-temps, Google maintiendra une stratégie que Miller appelle « Harmony », en continuant de travailler conjointement avec le TC39 (le corps de standardisation d'EcmaScript) pour faire évoluer JavaScript.

Mais toute cette initiative, destinée à faciliter le développement Web ouvert et améliorer ses performances, serait surtout motivée par la peur des écosystèmes d'Apple et d’autres plateformes fermées vers lesquels « dérive le cyclone d'innovation ».

« L'émergence de plateformes alternatives impérieuses, comme iOS signifie que la plateforme Web doit se montrer compétitive, non seulement sur le fond, mais aussi sur sa portée », estime Mark S Miller, avant de poursuivre : « JavaScript tel qu'il est aujourd'hui n’est pas une solution viable à long terme et quelque chose doit changer ».

Source : L'email sur Github

Et vous ?

Trouvez-vous, comme le supposait Mark S. Miller, qu'il est réellement beaucoup trop difficile de coder des applications Web complexes en JavaScript ?
Êtes-vous prêt à développer en Dart ? Sous quelles conditions ?

Dart : Google prépare un nouveau langage de programmation structurée pour le Web
Qui sera dévoilé à la conférence Goto

Quelques jours après que l'enregistrement de plusieurs noms de domaines ait vendu la mèche, c'est désormais officiel : Google travaille sur un nouveau « langage de programmation structurée pour le Web ».

« Dart » sera présenté à la keynote d'ouverture de la conférence GOTO Aarhus le 10 octobre prochain, et c'est à-peu-près tout ce que l'on sait d'officiel sur ce mystérieux langage.

Deux célèbres pionniers du développement, qui en seraient les principaux instigateurs, présenteront la nouvelle création du géant américain, présent partout sur le Web, mais beaucoup moins entre les doigts des codeurs Web hormis à travers les API et quelques outils comme l'excellent Google Web Toolkit.

Il s'agit de Gilad Bracha, un vétéran de SAP et Sun, et coauteur des spécifications du langage Java, ainsi que Lars Bak, le créateur de moteur JavaScript V8, entre autres.

Les conférenciers ont tous les deux une expérience conséquente avec le langage Smalltalk et Dart pourrait en être fortement inspiré.
On s'attendra donc a priori à un langage interprété qui piétinera les plates-bandes de Python et JavaScript, deux langages de programmation plébiscités chez Google.

Parmi les autres spéculations qui vont bon train sur le Web, on retiendra que Dart pourrait n'être qu'une extension du V8, ou un nouveau souffle donné au langage Newspeak inventé par Gilad Bracha, qui aurait été amélioré par Google et débarrassé de son nom à connotation négative : la novlangue imposée par le régime totalitaire de l'Océania pour éliminer toute expression subversive dans le roman 1984 de George Orwell.

Mountain View dispose d'un langage de programmation orienté-système appelé Go, qui est considéré, en dépit de la croissance pénible de sa popularité vacillante, comme une alternative crédible au C++ et à Java.

À noter que Google a détenu quelques temps une technologie qui porte le nom DART, issue de l'acquisition de Doubleclick en 2007. « Dynamic Advertising Reporting & Targeting » a été abandonnée l'année passée.

Quoi qu'il en soit, le plus grand défi qui s'opposera à Dart sera d'apporter une véritable valeur ajoutée dans un paysage Web saturé de langages aussi bons que diversifiés.

Source : Site officiel de la conférence Goto Aarhus

Et vous ?

Quel type de langage attendez-vous (ou souhaitez-vous) de Google ?
Y'a-t-il encore une place pour un nouveau langage de programmation pour le Web ?
Dans quels domaines et pour quelles applications ?


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse

Avatar de _skip _skip
http://www.developpez.com
Expert Confirmé Sénior
le 29/05/2013 17:22
Citation Envoyé par Golgotha  Voir le message

Sérieusement : Je ne crois pas un seule instant à ce langage Quoique Apple à bien réussi à mettre en place un langage du même style, et par style j'entends : Un langage élitiste, dont uniquement une poignée de gourou comprennent le fonctionnement, avec un besoin boulimique d'outils propriétaire pour faire tournée le machin, je n'ai qu'un seule demande, si ce machin surpasse une bon vieux Notepad avec de l'HTML et du JS : Filez moi un coup sec derrière la nuque ! On à déjà assez avec l'Objective-C...

Tout à ma connaissance est open source et plutôt community driven, genre saloperie propriétaire, franchement y'a pire.
Quant à dire que c'est pour les gourous, c'est probablement moins difficile de relire du dart que du javascript (en tout cas pour moi), qui est un langage facile seulement en apparence (fais le test : tu pièges facilement quelqu'un sur un problème de scope ou de contexte en JS).
Avatar de xelab xelab
http://www.developpez.com
Membre Expert
le 30/05/2013 11:39
Citation Envoyé par Cyrano  Voir le message
Ce qui revient à dire qu'on remplacerait à terme PHP par une version serveur du JavaScript ? et qu'on programme donc l'intégralité de l'application en JS ? J'ai quelques doutes, mais pourquoi pas ...

Mais... euh C'est déjà le cas et relativement répandu, faut se réveiller tout de même!
Par exemple (entre autre mille exemples):
http://zappajs.org/

Pour Dart, tant que ce n'est pas supporté en natif sur tous les navigateurs, je ne vois pas l'intérêt. Autant il est facile de débugger du Coffeescript (vu que c'est juste du javascript "confortable") autant du Dart transformé en javascript je sens que ça va être la misère, à moins qu'il existe un débugger digne de ce nom!
Avatar de Enerian Enerian
http://www.developpez.com
Membre émérite
le 30/05/2013 12:06
Citation Envoyé par Cyrano  Voir le message
Ce qui revient à dire qu'on remplacerait à terme PHP par une version serveur du JavaScript ? et qu'on programme donc l'intégralité de l'application en JS ? J'ai quelques doutes, mais pourquoi pas ...

Je ne pense pas qu'il faille voir les choses comme ça. Il y a juste de nouveaux usage, de nouveaux besoins, et certains outils basés sur JavaScript permettent d'y répondre parfaitement.

Cela ne veut pas dire pour autant qu'ils répondent à TOUS les besoins. D'autres outils basés sur du PHP, du Ruby, du Python, du Java, du MetIciCeQuiTePassesParLaTête permettent de résoudre d'autres problèmes.

Il ne s'agit donc pas de remplacer une technologie par une autre. Juste :
Use the right tool for the job.

Avatar de Cyrano Cyrano
http://www.developpez.com
Membre régulier
le 30/05/2013 12:53
OK, mais en fin de compte dans tous les cas, on s'écarte du sujet de départ qui concerne essentiellement la partie client : Dart et cette approche différente du JavaScript, langage mal aimé de beaucoup de développeurs.

Quant à remplacer PHP, Ruby, Python, Java, autres (rayer les mentions inutiles) coté serveur, c'est pas gagné : dans le cas de création nouvelles, pourquoi pas, mais il reste un existant d'une taille considérable et je doute que beaucoup d'entreprises soient disposées à envisager de mettre un centime là-dessus, ça coutera moins cher de se mettre à jour avec les version plus récentes des langages serveur déjà utilisés.
Avatar de Code62 Code62
http://www.developpez.com
Membre émérite
le 30/05/2013 14:03
Citation Envoyé par xelab  Voir le message
Pour Dart, tant que ce n'est pas supporté en natif sur tous les navigateurs, je ne vois pas l'intérêt. Autant il est facile de débugger du Coffeescript (vu que c'est juste du javascript "confortable") autant du Dart transformé en javascript je sens que ça va être la misère, à moins qu'il existe un débugger digne de ce nom!

Oui, mais si tout le monde attend que ce soit nativement supporté pour s'y mettre, ça ne sera jamais nativement supporté... pour que ça le soit, il faut qu'il y ait une communauté suffisante qui le demande, donc, comme souvent, ce seront les premiers qui essuyeront les platres pour "le bien commun"

Quand au debuggage: http://www.dartlang.org/support/faq....ging-output-js
dart2js now generates source maps, so you can debug Dart code in browsers that don't support the Dart VM. However, even in rare cases where you must inspect the raw JavaScript, it's fairly debuggable using the browser's normal JavaScript development tools.

Traduction: dart2js genere des "source maps" permettant de debuguer le code Dart dans les navigateurs qui ne supportent pas la VM Dart. Cependant, dans les rares ou il est nécéssaire d'inspecter le code JS brut, c'est assez facilement faisable avec les outils de développement JS classiques des navigateurs
(ceci dit, je n'ai pas testé personnellement, donc je ne sais pas à quel point c'est réelement "assez facile")
Avatar de LSMetag LSMetag
http://www.developpez.com
Membre Expert
le 30/05/2013 14:08
Citation Envoyé par xelab  Voir le message
Pour Dart, tant que ce n'est pas supporté en natif sur tous les navigateurs, je ne vois pas l'intérêt. Autant il est facile de débugger du Coffeescript (vu que c'est juste du javascript "confortable") autant du Dart transformé en javascript je sens que ça va être la misère, à moins qu'il existe un débugger digne de ce nom!

Ce n'est pas ce à quoi Dart est destiné. Dart est destiné à simplifier le développement Javascript (et à terme, le remplacer). Ce que tu dois débugguer, c'est du Dart dans une IDE, pas du Javascript (qui ne peut pas être vraiment débuggué d'ailleurs). Et dans Dartium (IDE officielle de DART), tu lances ton site avec scripts DART dans un Chromium avec VM Dart.

Après le challenge de Dart, qui va conditionner sa réussite, c'est d'avoir un générateur Javascript fiable. Si on crée un projet en Dart, c'est pour le conserver en Dart et ne plus s'occuper du Javascript.
Avatar de Thorna Thorna
http://www.developpez.com
Membre chevronné
le 30/05/2013 15:53
Citation Envoyé par xelab  Voir le message
Pour Dart, tant que ce n'est pas supporté en natif sur tous les navigateurs, je ne vois pas l'intérêt.

100% d'accord.
Que ce soit ou non pour du debuggage, de la simplicité d'écriture, du confort objet ou n'importe quelle autre raison sans doute très valable, Dart n'aura vraiment d'intérêt pour moi que lorsqu'il sera exécutable au même titre que JS. Et je ne vois pas ce qui empêche que ce soit déjà le cas : il n'y a pas non plus des dizaines de types de browsers différents. Et donc, attendons !
Avatar de OPi OPi
http://www.developpez.com
Membre confirmé
le 30/05/2013 16:29
Vous ne pensez pas que cela rendrait Google maître des navigateurs ?
Si Dart se devait d'être disponible nativement sur les navigateurs, cela donnerait de fait à Google une perpétuelle longueur d'avance puisqu'il est le maître de ce langage.
Avatar de LSMetag LSMetag
http://www.developpez.com
Membre Expert
le 30/05/2013 20:47
Citation Envoyé par Thorna  Voir le message
100% d'accord.
Que ce soit ou non pour du debuggage, de la simplicité d'écriture, du confort objet ou n'importe quelle autre raison sans doute très valable, Dart n'aura vraiment d'intérêt pour moi que lorsqu'il sera exécutable au même titre que JS. Et je ne vois pas ce qui empêche que ce soit déjà le cas : il n'y a pas non plus des dizaines de types de browsers différents. Et donc, attendons !

Comme je l'ai dit, Dart n'a pas d'intérêt pour les personnes qui n'ont aucune difficulté/animosité avec Javascript. Mais ces personnes me semblent minoritaires parmis les développeurs.

D'ailleurs, on a une problématique avec Javascript, c'est que les navigateurs ne supportent pas la même implémentation. Et là c'est vraiment galère pour gérer ça car ça buggue mais on ne sait pas pourquoi puisqu'on n'a aucun message d'erreur explicite. Donc si Dart, à l'image de JQuery, permet une génération "universelle" et fiable en JS, ça reste une très bonne chose.

Si on doit attendre que tout soit dispo sur tous les navigateurs, on ne toucherait pas au HTML5 et WebSockets avant des années. Car IE reste très en retard.
Je préfère utiliser une techno m'aidant à faire efficacement quelque chose correspondant à mon besoin sur les 2/3 des navigateurs et proposer une version dégradée sur ceux qui ne le supportent pas, en attendant qu'ils le supportent (évidemment, ce n'est pas valable en entreprise).
Avatar de xelab xelab
http://www.developpez.com
Membre Expert
le 31/05/2013 8:25
Citation Envoyé par Code62  Voir le message
Quand au debuggage: http://www.dartlang.org/support/faq....ging-output-js

Traduction: dart2js genere des "source maps" permettant de debuguer le code Dart dans les navigateurs qui ne supportent pas la VM Dart. Cependant, dans les rares ou il est nécéssaire d'inspecter le code JS brut, c'est assez facilement faisable avec les outils de développement JS classiques des navigateurs
(ceci dit, je n'ai pas testé personnellement, donc je ne sais pas à quel point c'est réelement "assez facile")

Ok, c'est déjà pas mal. Le problème c'est toujours de faire le lien entre le code généré et le générateur et pour moi c'est une perte de temps potentielle (cela nécessite toujours de vraiment apprendre le javascript, du coup plus besoin de Dart si on connaît bien le javascript ). Il faut dire que Coffeescript me convient tout à fait et couplé à un framework comme Angular, je ne vois pas ce que Dart m'apporterait de plus à part une couche d'abstraction supplémentaire (tant que ce n'est pas natif bien sûr, encore que la syntaxe de Dart est moins agréable que le Coffeescript à mon goût).
Avatar de LSMetag LSMetag
http://www.developpez.com
Membre Expert
le 31/05/2013 10:43
Citation Envoyé par xelab  Voir le message
Ok, c'est déjà pas mal. Le problème c'est toujours de faire le lien entre le code généré et le générateur et pour moi c'est une perte de temps potentielle (cela nécessite toujours de vraiment apprendre le javascript, du coup plus besoin de Dart si on connaît bien le javascript ). Il faut dire que Coffeescript me convient tout à fait et couplé à un framework comme Angular, je ne vois pas ce que Dart m'apporterait de plus à part une couche d'abstraction supplémentaire (tant que ce n'est pas natif bien sûr, encore que la syntaxe de Dart est moins agréable que le Coffeescript à mon goût).

Il y a une grande différence entre connaître le Javascript et maîtriser le Javascript.
Me concernant, je connais le Javascript, j'ai passé des mois entiers dessus, mais je ne le maîtrise toujours pas. Et j'ai donc des difficultés pour la moindre petite chose. Pour debugger du Javascript, il faut bien connaître son comportement, car même avec une console, les erreurs ne sont pas explicites et tout ce qu'on a, c'est simplement un bug, pas un crash.

Mon but, c'est justement de ne plus avoir à me préoccuper du Javascript, comme je n'ai pas à me préoccuper du bytecode généré par d'autres langages serveurs. Comme dit par une personne ici, Javascript, c'est un peu l'assembleur du Web.
Offres d'emploi IT
Développeur sénior php | mysql h/f
CDI
MOBISKILL - Ile de France - Paris (75000)
Parue le 21/11/2014
QUALITY CONFORMANCE MANAGEMENT
Intérim
DERICHEBOURG Intérim Aéronautique - Saint Nazaire - Pays de la Loire - sain nazaire
Parue le 16/12/2014
Référent technique projet h/f
CDI
Société Générale - Ile de France - Paris / Ile de France
Parue le 16/12/2014

Voir plus d'offres Voir la carte des offres IT
 
 
 
 
Partenaires

PlanetHoster
Ikoula