Les machines virtuelles Java débarquent sous JavaScript

Faire tourner Java sous JavaScript, c’est ce que permettent les projets BicaVM et JSava. De quoi mettre Java à la portée de certains ordinateurs, par exemple les terminaux mobiles iOS.

Java et JavaScript sont souvent considérés comme étant deux produits proches, à tort. En dehors de leur similarité en terme de noms, ces langages de programmation n’ont quasiment rien de commun. « N’avaient », devrions-nous dire.

Java s’invite dans JavaScript

Artur Ventura, s’est en effet attaqué à un projet un peu fou : développer une machine virtuelle Java en JavaScript. Le projet BicaVM n’en est encore qu’à ses prémices. Il ne reconnait ainsi qu’environ 60 % des instructions de base utilisées au sein d’une JVM. Un long travail restera donc à accomplir pour disposer d’une mouture utilisable de cet outil.

Sean Barker signale sur Slashdot qu’il a lui aussi travaillé sur un projet de ce type. JSava se veut plus abouti que BicaVM, mais il n’est pas aujourd’hui capable de fonctionner à l’intérieur d’un navigateur web. De fait, ce produit a été conçu pour Rhino, un interpréteur JavaScript écrit… en Java (les programmeurs sont de grands enfants).

À terme, ces outils permettront de lancer du code Java, sans qu’il soit nécessaire d’installer un quelconque greffon au sein du butineur. Une aubaine pour les développeurs, puisque ni iOS, ni Windows Phone 7, ni même Windows 8 (tout du moins dans sa mouture ARM) n’acceptent les greffons.

Une corde de plus pour l’arc JavaScript

BicaVM et JSave ne font que confirmer ce que nous avions pressenti en début d’année : JavaScript s’impose petit à petit comme la lingua franca du web. Il permet ainsi d’exécuter du code C/C++ ou même d’émuler un PC. La seule limite semble être la vitesse des compilateurs JavaScript just-in-time intégrés aux navigateurs web.