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."

9 of 148 comments (clear)

  1. Apple & Java don't play nice anymore by Templar · · Score: 4, Insightful

    Apple can't even commit to Java 1.6 for OS X -- I think you're being a wee bit optimistic.

  2. So what happened to the Apple Java luvin'? by maggard · · Score: 4, Interesting

    A few years ago Apple was all over Java.

    Apple rewrote their WebObject platform into Java. They built bindings into MacOS 10.3 making Java apps 'native', heck spent serious resources Aqua-fying Java to look native.

    So now there are a coupla Mac apps that are actually Java.

    But the bindings have been depreciated. And Apple is getting slower & slower about releasing Java updates. All the while additional toolsets are getting added, receiving support, etc.

    Then there's the iPhone, which Apple has made clear they've little interest in adding Java to.

    So does Apple perceive Java as moving into the also-ran category? Something that isn't gonna pay off development & support effort as a major player on the desktop? What makes it inappropriate for the iPhone?

    Are there any Java-on-Mac developers willing to share their insights? Folks who actually use it, pay attention to it on an ongoing basis, etc.?

    --
    I don't read ACs: If a post isn't worth so much as a nom de plume to its author then I wont bother either.
    1. Re:So what happened to the Apple Java luvin'? by mccalli · · Score: 5, Interesting

      So does Apple perceive Java as moving into the also-ran category? Something that isn't gonna pay off development & support effort as a major player on the desktop? What makes it inappropriate for the iPhone?

      I believe that's their perception, yes. I believe it's wrong too.

      Are there any Java-on-Mac developers willing to share their insights? Folks who actually use it, pay attention to it on an ongoing basis, etc.?

      Sort of - allow me to pontificate for a moment please.

      I develop a lot of Java code, but it typically gets deployed on other platforms other than the Mac. It's a mix of desktop and server-side, and it's for internal apps only.

      I would like to develop this using my Mac - it's not that I will unleash a mass of Mac Java apps on the world (though I have unleashed one), it's more that it allows me to pick the Mac as my daily working tool. I believe Apple have underestimated the demand for Macs amongst the more technical crowd, and I am hopeful of an OpenJDK port to OS X to take this worry away.

      To summarise: perhaps Apple are right about desktop apps in Java on their platform. I still believe they're wrong in the general case though, and that they should still either keep up with the JDK or just help with the port to the OpenJDK and let others keep up for them.

      Cheers,
      Ian

  3. Re:Why? by Lisias · · Score: 5, Interesting

    I agree with the ugly interface, but just it.

    As a former worker on that industry, I can tell you that there's too few applications that can't be built faster and cheaper on a good KVM than on native code.

    I used to run Java games on a Siemens S55, and it work well.

    One of the main problems with Java ME is the lack of interest, from the mobile industry, to invest money on something that will cause beneficts to their competitors too. They prefer to loose two users to give one to the competition.

    Another one are the Operators. They are alergic to anything that gives freedom to theis costumers.

    On the time I used to work for Siemens Mobile (RIP), I heard a history about why in hell the JME of S55 series can't access the InfraRed device (as the S45, that I still use nowadays, has a IR API for the Java).

    The answer?

    The Operatos demanded that Siemens throw out the IR API, as they do not want S55 users to intercomunicate without paying something for them (by buying GSM services). If the Siemens didn't complied, it would loose a major incoming as the Operators were the bigger buyers at the time.

    The problem is not the technology. It's the industry.

    --
    Lisias@Earth.SolarSystem.OrionArm.MilkyWay.Local.Virgo.Universe.org
  4. Is Apple interested in Java? by Diomidis+Spinellis · · Score: 4, Interesting

    While an open source Java port would be an interesting development, the real issue is whether Apple is interested to support Java on its platforms. A recent Javalobby article, titled So Long Apple. The Party's Over, gives several arguments supporting the position that Apple is doing a lot less than what it should in order to properly support Java. A high-quality implementation of the Java virtual machine needs all the help it can get from the underlying platform. For an illustration of this, see how slickly Java runs on Sun's Solaris. If Apple isn't interested to put its weight behind Java, it's unlikely that Sun will fill this role. Sun is putting a lot of effort to tune Java on the Windows platform; I doubt they have the resources and motivation to do the same with Apple's platform, due to the significantly lower market share of Mac OS X. So, while an open source port of Java is nice, full-hearted support from Apple would be a lot better.

  5. 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.
  6. Re:Why? by burris · · Score: 4, Insightful

    Given that the only popular Java application on Mac OS X, Azureus, is universally regarded as being slow, bloated, and ugly, I'd say the GP's impression is not at all outdated.

  7. Re:Why? by huckamania · · Score: 5, Interesting
    JavaME is very easy to write and very easy to learn. Eclipse plus the ME extensions plus the phone emulators really makes developing a quick and dirty app for a cell phone very easy.


    I wrote this at night over about a month:

    Baby Cell

    This app lets me hand my phone (or an old phone) to my 3 year old and I don't have to worry about her calling anyone or erasing stuff. It's got basic password protection and I wanted to do more, but the end product has 15 songs, a bunch of shapes and colors, her own voice. It was more interesting when she was 2, but still, it was a fun project.

    Does anyone know yet what the cost will be to develop for the iPhone? It cost me nothing but time to write Baby Cell.

  8. It all depends by 0xdeadbeef · · Score: 4, Insightful

    Will the iPhone's SDK be open, or will it be closed?

    Java is a hole in the "security" of devices, in that it allows the execution of arbitrary code outside of the device's native "security model". And I use scare quotes because by security, they really mean control, and by security model, they mean control over who is or isn't allowed to produce software for the device, and run software on the device. If the Java runtime were trusted, then every Java application has the same rights as the Java runtime.

    But Java has also been used by those who are legitimately concerned about security, because the virtual machine does actually make the execution of injected code very difficult. And by supporting the runtime natively, it actually gives you better control over what executes and who can execute it.

    But that makes it easier to limit the features available on the devices, so you can claim to support third party software and still put up an impenetrable wall between applications and the useful, built-in capabilities that the carriers want to trick customers into believing are special "services" they must pay more for. Bluetooth, GPS, camera, and even networking have found their APIs stripped from Java on certain carriers' devices.

    If Apple produces an open SDK, then putting Java on the iPhone is simple matter of porting it. Apple doesn't even need to be involved.

    But if Apple uses code signing to control who is and isn't allowed to release software for it, you can forget Java ever appearing, because then anyone could write software for it. They don't seem to be at all interested in supporting Java themselves.