Saturday, January 30, 2010

J2ME on the iPhone

Back in 2008, Sun was working with a company called Innaworks to build alcheMo for iPhone; a commercial product that translates J2ME source code to Objective C so that it can be compiled to run on the iPhone. Here is a snippet from their product description:

alcheMo for iPhone is capable of converting J2ME applications utilizing an extensive subset of Java ME CLDC 1.1 and MIDP 2.0 (including touch screen support) and supports several JSR extension APIs including the JSR-256 mobile sensor API. Additional APIs support multi-touch and native iPhone look and feel. This automatic translation process is instantaneous, repeatable, and available 24/7 while requiring no iPhone specific experience.

That is interesting. After my recent experience developing J2ME for BlackBerry, I was quite underwhelmed. I hope that Sun/Oracle releases a Java FX compiler that outputs native iPhone/iPad binaries, with support for nearly the full Java 6 API, and all of the J2ME JSR APIs.

I listen to the Java Posse podcast, and noticed that whenever they talk about Java FX on Android, Tor Norbye from Sun who works on Java FX tooling always says "No comment." I hope this is a sign that Sun is working on bringing Java FX to platforms that developers REALLY want and need to target. Otherwise, Java is going to lose to C# (MonoTouch) and Flash Lite.

3 comments:

Henry Ho said...

Apple decided that they can't support VM on iphone due to stability concern, that's why Flash Player didn't make it, nor will Java VM.

Anonymous said...

This is not running the Java VM on the iPhone. This is running native Objective C code on the iPhone, translated from Java by the tool. It's a similar process used by MonoTouch to run .NET code on the iPhone, and by some Adobe product to run Flash Light or Adobe Air applications on the iPhone.

Dom Farr said...

Apple didn't stop flash because of stability issues, it stopped it because it would directly compete with the app store and therefore its way to make money.
Flash games = No money.
App store games = Money.

Post a Comment