An Open-Source Java Port To iPhone? 148
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."
So what happened to the Apple Java luvin'? (Score:5, 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.?
Re:Why? (Score:5, Interesting)
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.
Is Apple interested in Java? (Score:5, Interesting)
Re:So what happened to the Apple Java luvin'? (Score:5, Interesting)
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
Re:Why? (Score:5, Interesting)
I wrote this at night over about a month:
Baby Cell [download.com]
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.
Re:FreeBSD Java 6 on Leopard (Score:1, Interesting)
Why even bother with them? They're obviously not interested and anyway you'd have to work around Leopard's extensive catalog of bugs to get Java running.
Well, it depends (Score:4, Interesting)
Eclipse is nice, an IDE for java at first but suitable for other languages, and because it is java, it could in theory run on all os'es that have java.
Azureus is nice, a bittorrent client, and because it is java, it could in theory run on all os'es that have java.
Opera for mobile phones is Java.
These are just the ones I use most often.
The bad thing about java is that the old people among us remember it from the web days when everyone used it to bloat their pages when we were on modems that already choked on dns lookups. When your memory was measured in MB and java wanted GB that is when we got our first taste of java and my god did it taste foul.
Today that matters less, we got faster internet, we got more memory and more power, so while java still has a bloated feel to it, it doesn't matter anymore.
To be fair, java is only "bloated" because it replicates what your "local" programs already have in the OS. IF java apps didn't do that, and heavily relied on the OS they wouldn't be portable.
The most important reason to want java is that it would allow ANY java app to be run under it. No more need for signing, java would be signed, not the app running on it. Suddenly the iPhone would have a ton of third party stuff available.
There is a reason american phones often lack the java capability that exists on the same model in the rest of the world, java opens up the phone.
So java is good. Yes it is a bit bloated and a big of a hog, but that is the price for having apps that port easily.
Tit for tat (Score:4, Interesting)
So essentially because Sun has decided Apple is not worth the resources to support OpenOffice on the Mac, Apple has decided Sun is not worth the resources to support Java on the Mac.
Java is not bad for mobile games. (Score:3, Interesting)
I'm a mobile phone game developer that has ported commercial games to over 200 handsets across all of the major Western carriers. This includes lots of crappy phones that could barely eke out 1fps, and lots of phones that hit 40-50fps without missing a beat. Overall though, I have a MUCH easier time porting for Java devices than for BREW [wikipedia.org], because Java is simply much easier to develop stable programs for, which means less bugs to waste time tracking down, which means you can make better quality software.
And as far as Java being slow, bloated, etc., maybe all that was true back in the 90's, but today it's perfectly fine for development on any modern machine, all of our in-house development tools are written in Java and work perfectly. And J2me [wikipedia.org], the subset of Java that you find on the phones, is particularly lightweight and speedy - most mobile JVMs compile rather than interpret the Java bytecode, and some ARM cell phone processor architectures actually execute the straight J2me bytecode directly in hardware. What varies performance most is not usually the choice of Java vs BREW for running applications, but the speed of the phone's processor and its ability to paint to the screen quickly, and in my experience these vary regardless of whether a phone is using Java or BREW. A good Java phone will be entirely indistinguishable from, if not even more capable than, a good BREW phone in terms of its game-playing ability.
If Java is ported to the iPhone, it would let existing game developers easily target their games for the iPhone during the standard porting process, and they could spend the extra time perfecting interfaces and controls to take best advantage of the iPhone's capabilities. This would mean an instant library of hundreds of quality commercial games each year, with a fast-growing library of independently-developed mobile games as well (that is, if AT&T grants its contract holders access to them). Otherwise, without a Java port it would mean a much more expensive porting process to a separate, proprietary SDK, which few mobile game companies with enough development resources will be able to profitably accomplish. So you'll probably get EA Tetris for your iPhone and little else, oh joy.
Re:Why? (Score:2, Interesting)
Re:So what happened to the Apple Java luvin'? (Score:3, Interesting)
The stuff I write is mainly server code that gets deployed on *nix boxes. (Which I think is Java's real strength - desktop Java apps and web applets seemed like a good idea at one point, but they're a lost cause.) I don't deal with the Java GUI libraries much, and I'm not particularly interested in the iPhone. I just want a stable, user-friendly Unix system that lets me run all the standard FOSS tools and that supports the latest versions of Java. Which Apple just doesn't do. Fortunately, most of the people I work for have a conservative approach to choosing their platforms, and they tend to stay away from the bleeding edge... and Java 1.6 doesn't seem to offer anything revolutionary, anyway... but the present situation is unacceptable.
The thing that really pisses me off is Apple's secretive attitude. They actually had a beta release of Java 1.6 available for download - but a few weeks ago, they pulled it off their site with absolutely no explanation. And nobody knows if they're even working on it anymore.
Re:So what happened to the Apple Java luvin'? (Score:3, Interesting)
No problem - hope you've got email notification on because I switched the machine of after making that post and missed your reply.
So in your opinion an up-to-date JDK is what you require, and could live without OS hooks, native-GUI, etc.?
Yes - that's exactly it. There will be some need for customisation, specifically the menu bar code on client-side, but that's already done and works very well. Keeping the look'n'feel together can be a job for the porters on the OpenJDK if required - I'm sure there'd be enough interest that a decent job would be done, but it's not a prime concern either of myself nor any of the other Mac-using Java coders I deal with.
Do you think the special Java bindings, native-GUI, etc. are worth the effort on Apple's part, or do you believe those would continue to be under-utilized?
I believe they'd be under-utilised. I appreciate the native look'n'feel and the ability to sort out the menu bar as per a normal Mac app, but beyond that I wouldn't use anything Mac-specific anyway. That's just for my client code too, which isn't all that much compared to the server-side. Quite a lot of my client code these days is written in SWT as well which isn't affected by Apple's code.
Essentially you've hit it though - an up-to-date JDK is what I'm after, rather than the bells and whistles of OS integration.
Cheers,
Ian