-
Multithread avec GWT
Dans le livre Developpons en Java, dans la partie GWT, j'ai lu cette expression, je site :
1) "Il n'est que possible d'utiliser des fonctionnalités de Javascript puisque l'application GWT est compilée en javascript. Ainsi par exemple, il n'est pas possible d'utiliser le type primitif long, puisque javascript ne supporte pas 64 bits. Cependant le code se compile puisque chaque variable de type long est convertit en type double ce qui peut provoquer des effets de bord.
2) Javascript n'est pas multithread il faut en tenir compte lors du developpement de l'application."
Je ne comprends pas SVP. La première déclaration peut encore passer parce que je vois comme s'il y a un paliatif même si je ne comprend pas trop, mais la deuxième me fait un peu peur, qu'est ce que ça implique ? Et quelles sont les conséquences ? ça ve dire qu'il y a des choses qu'on ne peut pas faire avec GWT ?
-
Salut mesken,
1) En GWT, tu codes en Java et tout est retranscrit ensuite en javascript. Ce qu'il faut comprendre, c'est que lorsque tu utilises une variable d'un certain type Java, le compilateur te la retranscrit en un type compatible Javascript, c'est tout.
2) En effet, GWT n'est pas multi-thread puisqu'au final, ce n'est que du Javascript et Javascript n'est pas multi-thread. Par contre, tu as les appels serveur asynchrones qui te permettent d'aller récupérer des données pendant que ton affichage change. Il ne faut pas t'attendre à voir ton IHM figée pendant que tu récupères des données.
Sinon, à mon sens, GWT s'inscrit dans le développement d'applications web interactives et n'a donc pas besoin d'être multi-thread. Après, si tu veux faire du multi-thread, le choix d'utiliser GWT dans une application n'est surement pas judicieux.
Donc pas de panique !
-
Merci beaucoup womannosky, je suis rassûré.
-
Mise à jour
Les choses ont pu évoluer depuis le dernier message de cette discussion (plus de trois ans). Est-ce que quelqu'un sait si on peut à présent faire du multithreading avec GWT ? Éventuellement avec des workers ? Si quelqu'un a du code dans ce sens qui compile je suis preneur.
Ontheweb
-
GWT propose elemental pour utiliser les fonctionnalités de l'HTML5 mais comme d'habitude, l'aide n'est pas à la hauteur : http://www.gwtproject.org/articles/elemental.html
Tu as un article (et du code) ici qui parle des workers avec elemental : http://www.instantshift.com/2013/11/...gwt-elemental/
Sinon il y a cette lib (je n'ai pas testé) : http://code.google.com/p/gwt-ns/wiki/WebWorker