Developpez.com - Rubrique JavaScript

Le Club des Développeurs et IT Pro

Doppio, une machine virtuelle Java

écrite en JavaScript

Le 2012-10-04 08:39:04, par vermine, Expert éminent sénior
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.
  Discussion forum
2 commentaires
  • Pill_S
    Membre expert
    A mon avis, il faut être un peu fou pour partir sur une idée pareille...
  • Voyvode
    Membre émérite
    Prochain objectif : Faire tourner Rhino avec Doppio.