Dart atteindra bientôt la version 1.0
Le « JavaScript-killer » de Google se prépare pour la conquête du Web
Le 2013-05-22 16:30:38, par Stéphane le calme, Chroniqueur Actualités
Emily Fortuna, ingénieur logiciel chez Google, a déclaré pendant la Google I/O que Dart atteindrait bientôt sa version 1.0.
Annoncé comme un langage structuré pour la programmation Web, Dart 1.0 embarquera de nombreuses fonctionnalités comme la méthode cascade pour une modification des objets facilitée ou encore des arguments nommés pour améliorer la lisibilité et la recherche. Le framework JQuery sera lui aussi inclus.
L'une des nouveautés sera aussi que, contrairement à la version précédente, Dart 1.0 sera désormais supporté par tous les navigateurs. « Nous pouvons le compiler en JavaScript, alors nous avons le soutien de n'importe quel navigateur », explique Fortuna.
Les ingénieurs de Google travaillent également sur la prochaine version de GWT (Google Web Toolkit), qui sera publiée l'année prochaine. Ray Cromwell, ingénieur de l'entreprise, explique que leur objectif est de rendre GWT plus modulable et plus rapide. Il ajoute que les deux projets évoluent de façon orthogonale, en d'autres mots, « Dart ne saurait remplacer GWT et vice-versa ».
GWT 3.0 supportera Java 7 et 8, ainsi que les applications hybrides ; GWT sera compilé avec des bibliothèques JavaScript externes. Les navigateurs mobiles modernes devraient pouvoir le supporter.
Source : keynote Google I/O
Et vous ?
Que pensez-vous de Dart 1.0 et GWT 3.0 ?
Avez-vous déjà utilisé des versions précédentes de ces outils ? Lequel a le plus captivé votre intérêt ?
Annoncé comme un langage structuré pour la programmation Web, Dart 1.0 embarquera de nombreuses fonctionnalités comme la méthode cascade pour une modification des objets facilitée ou encore des arguments nommés pour améliorer la lisibilité et la recherche. Le framework JQuery sera lui aussi inclus.
L'une des nouveautés sera aussi que, contrairement à la version précédente, Dart 1.0 sera désormais supporté par tous les navigateurs. « Nous pouvons le compiler en JavaScript, alors nous avons le soutien de n'importe quel navigateur », explique Fortuna.
Les ingénieurs de Google travaillent également sur la prochaine version de GWT (Google Web Toolkit), qui sera publiée l'année prochaine. Ray Cromwell, ingénieur de l'entreprise, explique que leur objectif est de rendre GWT plus modulable et plus rapide. Il ajoute que les deux projets évoluent de façon orthogonale, en d'autres mots, « Dart ne saurait remplacer GWT et vice-versa ».
GWT 3.0 supportera Java 7 et 8, ainsi que les applications hybrides ; GWT sera compilé avec des bibliothèques JavaScript externes. Les navigateurs mobiles modernes devraient pouvoir le supporter.
Source : keynote Google I/O
Et vous ?
-
ptah35Membre éclairéIl existe aujourd'hui un nombre incalculable de langages de programmation, mais les paradigmes et les concepts qui sont mis en œuvre dans ces langages sont en nombre limités et la plupart ont été inventés entre la fin des années 50 et le début des années 70. Le fait de "ne pas évoluer avec son temps" est donc une critique que l'on pourrait adresser à n'importe quel langage.
Le fait que JavaScript ait été utilisé pour gérer "trois onclick" n'implique pas qu'il ait été développé avec cette seule ambition. En effet, JavaScript, qui devait à l'origine s'appeler LiveScript, était destiné à devenir un langage de script pour le serveur http "Netscape Entreprise Server" et si son nom contient le terme "script", ce n'est pas parce qu'il s'agit d'un langage de programmation au rabais, mais parce qu'il est destiné un environnement d'exécution particulier (en l'occurrence un navigateur). Le fait que des applications concurrençant des « applications lourdes » aient pu être réalisées, montre d’une part les progrès qu’ont fait le html et les navigateurs et, d’autre part, que JavaScript est un vrai langage de programmation.
Tous les langages de programmation ont été développés pour permettre la création d'abstractions pour que les programmeurs puissent plus facilement gérer la complexité des programmes. Les variables, les procédures, les fonctions, les modules, les classes sont autant de moyens permettant la création d'abstractions. JavaScript n'utilise ni classe ni module, mais cela ne signifie pas qu'il ne dispose pas de moyens puissant pour créer des abstraction. En JavaScript, le principal moyen d'abstraction est la fonction qui est, dans ce langage, un objet de première classe (first-class citizen) et une fermeture (closure).
Si l'on aborde JavaScript en espérant y trouver les même concepts qu'en Java ou qu'en C#, il est évident que l'on risque d'être déçu, et je pense que si ce langage a une si mauvaise réputation, ce n'est pas tant à cause de ses défauts bien connus, mais plutôt à cause de programmeurs déçus de ne pas trouver dans ce langage ce qu'ils espéraient y trouver et qui n'ont pas voulu ou pas pu faire l'effort de regarder ce qu'il avait à offrir.
Même si un autre langage remplace un jour JavaScript dans les navigateurs, il reste pour l’heure le lingua franca des navigateurs et en tant que tel, le seul langage utilisable pour réaliser la partie cliente d’une application Web, il convient donc de l’apprendre lorsque l’on se considère comme un professionnel du Web. Cela étant dit, puisque tous les langages de programmation Turin-complet sont équivalents, il es possible de compiler n’importe quel langage en JavaScript et c’est une très bonne chose que de tels compilateurs existent. Si donc vous êtes plus à l’aise avec un autre langage, utilisez-le, mais ne dénigrez pas JavaScript parce qu’il ne correspond pas à vos attentes.
« Tout le monde est un génie. Mais si vous jugez un poisson sur ses capacités à grimper à un arbre, il passera sa vie à croire qu’il est stupide » (Albert Einstein)le 26/05/2013 à 22:07 -
tomlevRédacteur/ModérateurMoi je me demande quel est l'intérêt de coder en autre chose qu'en assembleur, puisqu'au final le compilateur ou la machine virtuelle convertit tout en langage machine...
Javascript est l'assembleur du weble 23/05/2013 à 14:03 -
LSMetagExpert confirméAlors, il y a plusieurs intérêts. D'une part oui le gain de productivité et de "fun" est indéniable (sauf si tu maîtrise et aime javascript).
Deuxièmement, pour les gens pas forcément experts en javascript, le code généré est quand même de qualité. Dans certains cas, il est plus performant que du natif.
Enfin, le Dart n'est pas dynamiquement compilé en Javascript au chargement de la page. C'est à la compilation (dans l'IDE) qu'il est généré en Javascript, et c'est ce Javascript qu'il faudra déployer. Le Dart ne sert vraiment qu'au développement (sauf en utilisant la machine virtuelle Dart (uniquement dans Chrome) où là il explose Javascript).
Donc, si tu es expert en Javascript, ça aura sûrement peu d'intérêt, car tu sauras sûrement optimiser mieux que Dart2JS et tu ne galèreras pas comme beaucoup. Le problème c'est que j'ai l'impression que dans notre milieu, être expert en Javascript n'est pas très courant. Donc pour la maintenabilité, ça peut être utilise aussi.le 23/05/2013 à 12:45 -
_skipExpert éminentTout à 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).le 29/05/2013 à 17:22 -
wirenthMembre avertiUn langage non objet n'est pas industriel ? C'est vrai que plus personne ne fait du C...le 23/05/2013 à 14:06
-
frfanchaMembre éprouvéD'accord avec toi pour tes réflexions sur Javascript, par contre pour les compilateurs tu as tort: cela fait déjà plus de 20 ans que les bons compilateurs produisent de l'assembleur plus performant que l'humainle 23/05/2013 à 15:29
-
David_gMembre éclairéC'est là que je vois bien le problème. Il n'y a pas fondamentalement de problème à faire de l'objet à base de prototype. c'est juste une autre manière et c'est pas "aujourd'hui on fait de l'objet avec".
Cela te gène certes mais c'est un autre débat.
Note : pas de souci pour reconnaitre tout un tas d'autres problèmes à JS pour information.le 28/05/2013 à 16:16 -
CyranoMembre régulierOK, 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.le 30/05/2013 à 12:53 -
OPiMembre actifVous 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.le 30/05/2013 à 16:29 -
LSMetagExpert confirmé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.le 31/05/2013 à 10:43