Doppio
une machine virtuelle Java �crite en JavaScript.


Doppio est un projet visant � obtenir du Java s'ex�cutant dans le navigateur sans aucun plugin. Actuellement, le projet comprend une machine virtuelle assez compl�te et une impl�mentation du d�sassembleur de bytecode javap. Doppio est le mot italien pour dire "double" et est un autre nom pour commander un "espresso double".

Le projet est toujours en cours d'�volution mais il est d�j� possible de l'utiliser car il supporte beaucoup de choses comme :

  • les 200 codes op�ration ;

  • une �mulation des types primitifs de Java, notamment le long de 64 bits ;

  • la plupart de l'API Reflection ;

  • les standards pour les I/O ;

  • des biblioth�ques JDK telles que String, Pattern et HashMap.


Le code a �t� test� sur Chrome, FireFox et Safari mais il devrait fonctionner sur tous les navigateurs qui supportent localStorage et les tableaux typ�s.

Avoir une machine virtuelle Java dans le navigateur n'est pas une mauvaise id�e. Il y a beaucoup d'autres langages qui compilent du bytecode, notamment les impl�mentations des langages existants tels que Ruby (JRuby), Python (Jython) et JavaScript (Rhino) ainsi que de nouveaux langages tels que le Scala, Clojure et bien plus.
Actuellement Doppio interpr�te le bytecode � la vol�e, mais les auteurs mentionnent qu'ils veulent effectuer une transition vers une solution plus compil�e.

Site officiel.
D�monstration.
Code source.

Source : annonce sur BadAss JavaScript.