Slashdot Mirror


An Open-Source Java Port To iPhone?

An anonymous reader writes "With the first anniversary of open-source Java coming up November 13, a Sun official believes the project could bear a fruit much sought-after in the Java community: a Java port to the Apple iPhone. Apple has not released a version of Java capable of running on the popular device. But Sun's Terrence Barr, technical evangelist for the Java mobile and embedded community, believes Apple's plans to release an SDK for iPhone in early 2008 may result in the open-source phoneME version of Java ME winding up on iPhone."

1 of 148 comments (clear)

  1. Re:Why? by shutdown+-p+now · · Score: 5, Informative

    I have not found any really compelling Java apps on my desktops (Linux and Mac OS), are there really any reasons for needing them on my phone?
    J2ME is very different from desktop Java. It's one of the oldest APIs for handheld devices around, and there is a lot of stuff written for it already - tons of games, instant messengers, e-mail clients, and lots of other stuff. GMail Mobile is a J2ME application, and so is Opera Mini (granted, the latter not really needed on an iPhone or a decent smartphone, but priceless on plain Java-enabled mobiles like my Sagem my301).

    So, if there are native apps, why would we want Java?
    Considering the above, the short answer is: to use all the stuff already available for J2ME for other platforms.

    Also, is my impression of Java outdated? Is it not slow, bloated (JRE + app), and have an ugly UI?
    It is still relatively slow, of course (well, what do you expect from a language that forces everything onto the heap?), but it certainly works good enough for plain GUI apps, even on low-end phones (those not even considered smartphones). Apps are small. Tthe size of J2ME runtime is usually hard to tell since there are many different ones available, and which one your phone uses is not always obvious. UI is an interesting question: J2ME GUI toolkit is specifically designed so that it does not enforce any specific L&F or interaction model, and a well-written J2ME application should have native L&F on any implementation, and be fully resolution-independent. For stuff like games, it still allows them to get a fullscreen canvas and draw whatever they want on it, and interact with the keypad/keyboard and touchscreen directly.