Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

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

Le , par Hinault Romaric

20PARTAGES

1  1 
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 ?

Une erreur dans cette actualité ? Signalez-le nous !

Avatar de forthx
Membre éclairé 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)
3  0 
Avatar de 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.
3  0 
Avatar de 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
2  0 
Avatar de skywaukers
Membre émérite 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
2  0 
Avatar de polkduran
Membre actif https://www.developpez.com
Le 22/11/2011 à 17:12
Il faut arrêter de vouloir tout faire en js
1  0 
Avatar de 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 ?
0  0 
Avatar de 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...
0  0