mercredi 22 mai 2013

Jainja JVM on top of the Dart VM

I'm currently working on a new "platform" target for Jainja: Dart

I got some preliminary results but only simple applications are working at this stage.

mardi 22 novembre 2011

Jainja VM

Jainja VM is a new JVM written in Java.

The VM can run on top of multiple environments : Java SE, Java ME, Android, Javascript, and even natively in a near future.

You can see Jainja in action in your browser (no Java plugin required, only a HTML5 browser): demo

Sources will be released during FOSDEM 2012.

dimanche 24 avril 2011

Android Activity

I succeeded to have a simple Activity working with pointer and keyboard events:

public class HelloAndroidActivity extends Activity {

    /** Called when the activity is first created. */
    public void onCreate(Bundle savedInstanceState) {
        TextView tv = new EditText(this);
        tv.setText("This is an EditText view in an AWT Window: \n");

I can't go further without the Binder IPC system. It's an important piece of software in Android because almost all the public application framework relies on it to find and use services (window manager, audio, input methods, ...)

There is a temporary hack to replace the IPC system (for the graphical part only):

The current start process is:

lundi 18 avril 2011

Android Canvas in an AWT Window

A new small step: I got the Android Canvas working (only 2D rendering for now) :


mercredi 29 juillet 2009

LWUIT running on the Jelatine VM

Although the Jelatine VM is still a work in progress, I got simple user interfaces working on it.

I used the LWUIMB demo and a X11 backend.

mardi 31 mars 2009

MIDPath on the iPhone

I started a port of MIDPath on the iPhone a few weeks ago. It was a bit easier than I expected.

First I had to understand how to use iPhone APIs from Java. Markus Heberlings from the MicroEmulator project helped me a lot in this task. I used Markus's library (straptease) to write a simple backend for MIDPath.

Next I added a directional pad to give a chance to people with large fingers to navigate through complex user interfaces.

Finally, I improved overall performances by compiling native backends for rasterization and SVG rendering.

Currently MIDPath runs on top of JamVM 1.5.1/Classpath and performances are correct for productivity applications. It should be faster when the iPhone backend will use OpenGL ES.

Available features:
  • Full support of the MIDP2 widgets (LCDUI)
  • JSR226/SVG
  • JSR75/File Connection API
  • Networking
  • Sound
In the video below, you can see a few midlets running on the iPhone: