JavaPoly.js : importer et appeler du code Java depuis JavaScript
Dans le navigateur grâce à cette bibliothèque JavaScript

Le , par vermine, Responsable Jeux-Concours
JavaPoly.js : importer et appeler du code Java depuis JavaScript
dans le navigateur grâce à cette bibliothèque JavaScript

JavaPoly.js est une bibliothèque JavaScript qui étend le support (polyfill) de la machine virtuelle Java (JVM). Elle importe le code Java existant et l’appelle directement à partir de JavaScript dans le navigateur. La bibliothèque fonctionne même si l’utilisateur n’a pas Java installé sur son ordinateur. Cela permet à Java de pouvoir s'exécuter dans le navigateur sans devoir passer par une applet.

En théorie, tous les langages qui s'exécutent dans la JVM sont supportés par JavaPoly. Par exemple : Groovy, Scala et même Python via Jython.

Cependant, le but premier ici est de faciliter le développement Web en Java. Les efforts sont concentrés sur la performance. Plusieurs développeurs tentent de trouver une alternative au JavaScript qui, malgré sa normalisation, est un langage qui n'est pas beaucoup poussé vers le haut notamment à cause des pratiques historiques. Grâce à une JVM, on peut profiter de la puissance du hardware sans être ralenti par le JavaScript.

Pour l'instant, l'outil est fonctionnel sous Chrome et FireFox. Il est en cours de développement et n'est pas encore considéré comme entièrement stable.

Site officiel.

Et vous ?

Que pensez-vous de JavaPoly et des critiques à l'encontre des performances de JavaScript ?

Retrouver les cours et tutoriels pour apprendre le Java Web et le JavaScript.


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


 Poster une réponse Signaler un problème

Avatar de epsilon68 epsilon68 - Membre éprouvé https://www.developpez.com
le 17/05/2016 à 15:59
ils ont refait une JVM en Javascript? je viens d'essayer le HelloWorld sur leur site, punaise c'est lent!
en gros c'est intéressant, mais je n'y crois pas vraiment.

quant à Javascript, je crois que c'est devenu utilisable avec Typescript. HTML/Javascript ne va pas disparaître maintenant, contrairement à cette techno...
Avatar de xurei xurei - Membre averti https://www.developpez.com
le 17/05/2016 à 17:00
C'est marrant, je me suis justement demandé hier si Minecraft sur le browser c'était possible... Apparemment oui !

Enfin je suppose que la couche 3D n'est pas implémentée dans leur solution. Et puis, Minecraft à 0.1FPS... Voilà quoi.
Avatar de Sodium Sodium - Membre éprouvé https://www.developpez.com
le 17/05/2016 à 17:07
L'idée d'utiliser du Java en remplacement de JavaScript me paraît peu pertinente. A chaque technologie ses usages, il existe déjà des alternatives à JavaScript comme TypeScript.

Par contre, les navigateurs allant tous dans la direction du zero-plugin et ayant donc signé à terme la mort de l'utilisation de Java au sein d'un site web, ça se justifie déjà beaucoup plus.
Avatar de youtpout978 youtpout978 - Membre expert https://www.developpez.com
le 17/05/2016 à 17:52
Bein avec WebAssembly le Java a une chance d'être utilisé à l'avenir dans les navigateurs côté client.
Avatar de Mickael Baron Mickael Baron - Responsable Java https://www.developpez.com
le 17/05/2016 à 20:26
JavaScript va devenir l'assembleur du web.

C'est une bonne approche. Par contre je serais curieux de voir comment se comporte l'outil développeur du navigateur pour le déboggage de ce type d'application. Voit-on le code Java ou JavaScript.

Il ne faut pas oublier que GWT dans la version qui arrive va marier les deux mondes => http://lteconsulting.developpez.com/...gwt/futur-gwt/. Au moins dans GWT quand on fait un debug sous le navigateur on voit le code Java et ça c'est cool.

Mickael
Avatar de Gugelhupf Gugelhupf - Modérateur https://www.developpez.com
le 17/05/2016 à 22:02
JavaScript ne va pas devenir l'assembleur du web, JavaScript est l'assembleur du web
Avatar de timidou timidou - Membre régulier https://www.developpez.com
le 17/05/2016 à 22:19
Super initiative :-)
Mais les 30 Mo à download pour que cela fonctionne, ça va surement en refroidir plus d'un !
Avatar de zecreator zecreator - Membre chevronné https://www.developpez.com
le 18/05/2016 à 7:58
C'est marrant. Y a plein de gars qui ont toujours voulu remplacer/tuer Javascript sans jamais y arriver. Là concrètement, c'est du grand n'importe quoi. Une JVM pour faire tourner du code Java sur mon navigateur sans passer par des applet ? Quelle idée... Et pourquoi pas un interpréteur QuickBasic pour pouvoir utiliser mon bon vieux code QB à la place de JS ? Quoi, ça existe déjà ?
Avatar de TheLastShot TheLastShot - Membre averti https://www.developpez.com
le 18/05/2016 à 10:16
Et sinon tout coder dans un même langage histoire de garder une cohérence et une maintenabilité du code c'est trop mainstream ?
On pouvait déjà utilisé java sur les navigateurs, via les applets, "bizarrement" ça a un peu disparu aujourd'hui... Et ce n'est pas uniquement parce qu'il fallait installer un plugin tiers, alors que javascript lui était de base dans les navigateurs (bon, ça n'a pas dû aider non plus...).

Ensuite, j'après l'article leur but c'est la performance... Il me semble (peut-être me trompe-je) que le plus performant c'est d'éviter les couches intermédiaires, pas d'en rajouter... Or ici c'est le cas, on a le javascript qui lui est déjà compilé à la volée par le navigateur avant d'être exécuté (déjà ça, en soi, c'est pas super optimisé, mais d'ici à ce qu'on ai un assembleur du web on peut difficilement faire mieux), mais là il faut en plus compiler le java (parce que c'est un peu le principe de la JVM...) et exécutée sur une JVM codée en javascript compilée à la volée (et encore là je ne suis pas sûr d'avoir tout compris étant donné que normalement tous les langages de la JVM sont censés être pris en compte, mais qu'il n'y a pas besoin d'avoir la JVM d'installée sur la machine... Donc à part si le script js est lui-même une JVM je ne vois pas par quel miracle ça peut fonctionner) ... C'est moi où on vient de rajouter une grosse étape ???

Donc, à part pour les aficionados du Java, je vois mal l'intérêt de cette chose immonde (qui en plus, étant donné que c'est java, doit être un nid à failles).
Avatar de zecreator zecreator - Membre chevronné https://www.developpez.com
le 18/05/2016 à 10:57
J'aime beaucoup Java, mais j'ai toujours trouvé que son fonctionnement par JVM était lourding. Je me demande même pourquoi on utilise le terme "compiler" pour Java, alors qu'à la différence de C, le code compilé en Java ne peux pas fonctionner sans sa JVM. Les applets, c'est une hérésie de l'informatique. Au même titre que les ActiveX sous IE. Pourquoi vouloir embarqué du code Java dans une page web, alors qu'on peut le faire directement en Javascript.

Ceci dit, pour avoir été en équipe J2EE pendant plusieurs années (après quelques années dans le multimédia), j'ai vite constaté que les développeurs Java n'étaient pas les plus ouverts du monde. A part Java, peu connaissent l'univers du web. Ils sont trop focalisés sur le métier pour avoir envie de s'investir sur l'ergo et les technos web.

Il est d'ailleurs intéressant de constater que beaucoup de développeurs Java ayant pris le risque de vouloir faire autre chose de plus FUN, se sont tournées vers Flash/Flex. Histoire de ne pas trop changer leurs habitudes...

Pour moi, c'est mon avis, Java a encore une raison d'être uniquement parce que beaucoup d'infrastructure en entreprise utilise Java depuis 30 ans, et que se serait trop cher de passer à une techno plus actuelle. Remarque, ça fait le bonheur des SSII qui se gavent bien sur le dos de leurs clients.
Contacter le responsable de la rubrique JavaScript