Doppio (JVM in JavaScript) @ Strange Loop.

Screen Shot 2012-12-07 at 2.35.51 PMStrange Loop will be featuring a talk on Doppio, the JVM in Javascript (course project for my grad class gone wild).

Doppio: Building a JVM in the Browser

Modern browsers provide sandboxed versions of many native system interfaces, such as graphics rendering and a filesystem. Thus in theory we should be able to replicate most of the desktop experience on the web — except for the fact that a great deal of applications are not written in Javascript. Enabling the browser to run other languages would add whole classes of applications to the web platform.

Doppio is an effort to bring the JVM languages to the web by implementing a JVM in Coffeescript. While the JVM specification is technically language-agnostic, the original JVM is written in C and C++, and its architecture reflects that. We’ll discuss some of the challenges of implementing the spec and porting the libraries to a high-level, non-systems language, particularly when it does not expose threads directly. We’ll also talk about how NodeJS was invaluable for development.