2013-04-19 3 views
4

J'ai récemment découvert l'intégration de Dart et GWT, (BTW, je suis un développeur GWT) bien que je n'ai pas eu le temps de voir la vidéo, je voulais apprendre à tester avec mon application GWT; En ce moment je cherche comment faire fonctionner Dart sur mon code de client GWT d'abord.Faire GWT et Dart travailler ensemble? Quels sont les bénéfices?

Questions:

  • Quand vous faites Dart + GWT quelles sont les parties de l'application qui peuvent être mis à travailler ensemble?
  • Sur le côté client GWT et Dart peuvent travailler ensemble pour les deux sont compilés en Javascript? Et en ce qui concerne cette partie, l'accès par Dart Browser aux interfaces Restful est-il meilleur en termes de maintenance du code?
  • Est-il possible que Dart côté serveur (bytecodes) pour exécuter dans la JVM? Ou ce serait très lent?
+0

Merci pour la question, mais s'il vous plaît Remarque. C'est un bon format pour programmers.stackexchange.com. Cette question, en raison de sa nature subjective, risque fort d'être fermée. –

+0

Bon, alors j'ai déjà reformulé ma question. – xybrek

+0

@ seth-ladd oups votre de ceux qui ont voté cette question à être fermé. J'ai déjà reconstruit ma question. – xybrek

Répondre

6

This video and blog post (que je devine est celui que vous mentionnez dans votre question) de Shannon Behrens en utilisant GWT et discute Dart.

  1. Les rubriques suivantes sont couvertes dans la vidéo, qui répond au premier point de vos questions.

    • En utilisant GWT et Dart pour gérer les différentes parties de la même page
    • Utilisation Dart pour récupérer JSON à partir d'une servlet Java
    • En utilisant la fenêtre.postMessage et JSNI pour transmettre des messages entre GWT et Dart
    • L'utilisation de JavaScript, JSNI et package js de Dart pour l'interopérabilité synchrone entre GWT et Dart
    • Utilisation des objets CustomEvent et élémentaire pour transmettre des messages entre GWT et Dart
  2. En ce qui concerne la deuxième question, Dart utilise le même APIS sous-jacent AJAX que JavaScript, par exemple, JavaScripts XMLHttpRequest est HttpRequest dans Dart. En utilisant ceci, vous pouvez GET/POST etc ... à partir d'API reposantes.

  3. La troisième question "Est-il possible que Dart côté serveur (bytecodes) à exécuter dans la JVM": Dart n'a pas de bytecode. Dart sur le serveur est comme node.js (javascript côté serveur), python, ruby ​​etc ... plutôt que d'être compilé sous une forme de bytecode comme Java. Il y avait une première expérience de prendre le code Dart et le faire tourner sur la machine virtuelle Java, mais qui était plus une première preuve de concept plutôt que tout pour une utilisation réelle (ref: https://code.google.com/p/jdart/)

1
  1. GWT ne peut être supplanté par Dart dans les années à venir. Dart est toujours dans MileStone 4. L'approche de Google sur le Web w.r.t GWT, DART, fermeture, etc. est résumée here.

  2. Je ne vois aucun avantage de Dart par rapport à GWT w.r.t à JSON. Cela peut être discuté mais jamais réglé de chaque côté.

  3. Dart pourrait avoir le soutien GAE dans déjà - http://news.dartlang.org/2013/03/irrduino-sprinkler-system-built-using.html

REMARQUE: J'ai écrit que quelques programmes mondiaux bonjour à Dart. A ce jour, Dart est dans la version 4 de Milestone

  1. Dart ne s'exécute que dans un navigateur personnalisé (Dartium Browser). Firefox, IE pourrait ne jamais le supporter nativement et actuellement hostile !!!! Dart compile en Javascript (compilateur Dart2JS) de la même manière que GWT compile java en javascript. Cela lui permet de fournir une compatibilité avec IE, Firefox. À moins que Dart ne soit pris en charge par FireFox ou ne présente des performances de 10x ou 100x par rapport à javascript, il est peu probable qu'il soit pris en charge par d'autres navigateurs. Il est actuellement environ 2x ou 3x performances w.r.t javascript lorsqu'il est exécuté nativement dans le navigateur dartium.

+2

Quand vous dites que Dart ne fonctionne que sur Dartium, voulez-vous dire le Dart pur et non le Dart-to-Javascript? – xybrek

+2

Dart fonctionne sur tous les navigateurs modernes en tant que sortie JavaScript. La sortie JavaScript de l'outil Darts dart2js bat déjà le JavaScript écrit à la main dans quelques benchmarks: http://www.dartlang.org/performance/ –

+0

Je mentionne cela dans 1 point sous Note. – SSR

Questions connexes