Developpez.com

Plus de 2 000 forums
et jusqu'à 5 000 nouveaux messages par jour

BicaVM : une implémentation de la machine virtuelle Java
En JavaScript

Le , par Hinault Romaric, Responsable .NET
Les navigateurs pourront dans un futur proche intégrer une sorte de machine virtuelle, permettant d’exécuter du code d’un langage autre que du JavaScript. C’est la vision d’un développeur qui vient de mettre sur pied une machine virtuelle Java en JavaScript.

Arthur Ventura, un développeur portugais des solutions open sources, vient de présenter BicaVM, une implémentation de la machine virtuelle Java (JVM) en JavaScript, capable de fonctionner dans n’importe quel navigateur moderne.

La principale difficulté du port de la JVM en JavaScript est le temps d’exécution du bytecode. Cependant, avec les importantes augmentations de la vitesse d’exécution du JavaScript qui ont été apportées aux différents moteurs, les développeurs de BicaVM ont pu obtenir des temps d’exécution acceptables.

L’avantage de cette solution est qu’elle devrait permettre l’exécution du Java sur les plateformes qui n’offrent pas un support natif du Java comme iOS. De plus, Ventura soutient que cette approche permet d’obtenir le sandboxing automatique ainsi que l’indépendance et la persistance du navigateur.

BicaVM est pour l’instant présentée par son développeur comme une preuve de réalisation, mais permet déjà néanmoins de gérer correctement 60 % du bytecode et peut tourner sur l’iPhone/iPad.

Cette solution n’est pas la première implémentation JavaScript de la JVM. John Resig, créateur de jQuery avait également en 2008 présenté une démo d’Ortho une autre application de la JVM en JavaScript.

Télécharger BicaVM

Source : Blog Arthur Ventura

Et vous ?

Que pensez-vous de ce projet ? Et de l’exécution d'un langage autre que le JavaScript dans le navigateur ?


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


 Poster une réponse

Avatar de ZiGoM@r ZiGoM@r - Membre averti https://www.developpez.com
le 21/11/2011 à 15:32
Je vais enfin pouvoir coder un interpréteur Basic en Java compatible web pour y exécuter toute sorte de compilateur écris en Basic...

A quand une VM standard ?
Avatar de amezghal amezghal - Membre habitué https://www.developpez.com
le 21/11/2011 à 18:53
Ca me rappelle le film "inception"
machine virtuelle dans une machine virtuelle ah il manque encore une autre
Avatar de forthx forthx - Membre confirmé https://www.developpez.com
le 21/11/2011 à 20:36
il suffi de faire fonctionner ca sur un os virtualisé (pour la 3eme couche!)

Trêve de plaisanterie, vous avez deja essayer de coder une application qui fait un minimum de calcul en javascript? Moi oui (application de calcul de hachage), pour me prouver une chose : c'est et extrêmement lent a l’exécution, vois ca plante. (tester avec ie, ff et chrome, peut être que safari fait mieux).
J'ai pris ce code javascript, j'ai typé mes variables, refait la couche graphique (de souvenir c'est pas loin d’être tout) et je l'ai exécuté sur ma jvm (windows 32bits) et la j'ai une accélération de ... plus de 100x !

Actuellement on utilise java pour des applications lourdes (regardez du coté des application netbean rcp et eclipse rcp si vous souhaitez des exemples), et ce langage commence a apparaitre dans le domaine des jeux 3d.

Le projet d'avoir une application java vraiment multiplateforme (ce qui est de moins en moins le cas) est intéressante mais est-ce la bonne solution de passer par javascript pour ca?

Notez que je vais m’empresser de tester ce que ca donne et je vous envoi les résultats (edit : bon j'ai essayer, en suivant le readme, l'exemple ne fonctionne qu'avec chrome, je n'ai pas trouver comment compiler ma propre source java, ou "executer" un .class simple)
Avatar de bugsan bugsan - Membre confirmé https://www.developpez.com
le 21/11/2011 à 21:14
Ca serait marrant de le faire tourner dans Apache Rhino (interpréteur javascript pour la JVM).
Lui même tournant dans ... bon OK j'arrête.
Avatar de skywaukers skywaukers - Membre chevronné https://www.developpez.com
le 21/11/2011 à 23:21
Et si on écrivait un navigateur en Java qui tournerai sous bicaVM, qui intégrerait un interpréteur Javascript, on pourrait faire tourner bicaVM dessus, ce serait cool parce qu'on pourrait aussi faire tourner notre navigateur Java dessus...

@++
Dany
Avatar de polkduran polkduran - Membre actif https://www.developpez.com
le 22/11/2011 à 17:12
Il faut arrêter de vouloir tout faire en js
Avatar de Traroth2 Traroth2 - Membre chevronné https://www.developpez.com
le 24/11/2011 à 14:53
Ça peut faire tourner Erjang ? La version de la machine virtuelle OTP écrite en Java...
Offres d'emploi IT
AMOA Chef de projet fonctionnel H/F
EXTERNATIC - Pays de la Loire - Nantes (44000)
Ingénieur systèmes et réseaux h/f
KONICA MINOLTA BUSINESS SOLUTIONS France - Midi Pyrénées - Toulouse (31000)
Développeur d'application web F/H
Link-consulting - Midi Pyrénées - Toulouse (31000)

Voir plus d'offres Voir la carte des offres IT
Contacter le responsable de la rubrique Accueil