Doppio: Java im Browser ohne Plug-ins

Eric Herrmann

Mit Doppio lässt sich die Java-VM komplett im Browser nachbilden. Zusätzlich besitzt es eine Implementation des javap-Bytecode-Disassemblers. Doppio wurde in CoffeeScript geschrieben und begann als Midterm-Projekt an der University of Massachusetts in Amherst. Seitdem ist es als unabhängiges Community-Projekt weitergereift.

Bislang werden unterstützt:

  • alle 200 opcodes
  • exakte Emulation der primitiven Typen (inkl. der 64-bit-langen)
  • Generics
  • ein Großteil des Reflection-APIs
  • File- und Standard-I/O
  • wichtige JDK-Bibliotheken wie String, Pattern oder HashMap

Eine Demo mit Kommandozeile finden Sie hier. Den Coffee-Code finden Sie auf GitHub. Zum Ausprobieren empfehlen sich GNU Diff oder LZW Compression.

Für einen Testlauf von Doppio muss Ihr Browser LocalStorage und TypedArrays unterstützen.

Derzeit interpretiert Doppio den Bytecode naiv. Hier will man in Zukunft die Performance steigern, indem man vom Interpreter schrittweise auf einen Compiler übergeht.

Geschrieben von
Eric Herrmann
Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.