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."
Apple & Java don't play nice anymore (Score:5, Insightful)
Ready for business. (Score:2, Insightful)
Speaking of being ready for business, the rhetoric across just about all media is that the Mac is a great computer for home use but isn't ready for business. Can anyone shed some light on why this is the widespread perception? The Mac, coupled with Mac OS X Server, can do just about anything that a Windows or Linux network can do, and even if it can't, you can always install some Windows or Linux servers to take care of whatever loose ends are left over. Couple that with iPhones capable of 3rd party development and Java, and it's a wonderful system for business.
Re:Why? (Score:5, Insightful)
Java = Lower quality apps? (Score:2, Insightful)
BUT... Since Java hasn't been an option, people have been writing and porting native applications to the iPhone, even without the SDK.
Assuming we can all agree that usually native > Java, so I'm afraid this may lower the overall quality of available apps. Understandably, developers don't want to write native applications for every single device. Let's be honest though - Java is a shortcut - and primary reason anyone chooses to develop with it is portability and portability alone...
Not having the option of writing apps in Java equals more native apps - which I think most people would prefer. I think this was Apple's intention. I also believe it is silly for them not to embrace Java, but I do believe this is a very real consideration.
It all depends (Score:5, Insightful)
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.
Re:It all depends (Score:1, Insightful)
This is FUD, complete and utter rubbish. JVM provides very fine grained control of what code running inside it can and cannot do. That includes file, network and peripheral access. That stuff was in Java since day one, wake up and smell coffee.
Google 'Java security manager' or 'Java sandbox'. This can be done on per application basis, you can have more and less trusted apps running at the same time with different privileges.
Re:Java = Lower quality apps? (Score:3, Insightful)
Not having the option of writing apps in Java equals more native apps
No. You forget that there's a third option - not releasing the app for the iPhone at all. Without a Java interpreter, application providers may decide that the marketshare of the iPhone is too small compared with the marketshare of phones that support Java, and decide not to release their applications for the iPhone. In other words, not having Java apps equals fewer apps, not more native apps.
Common Java apps, OS X and Mobile (Score:4, Insightful)
Re:So what happened to the Apple Java luvin'? (Score:3, Insightful)
Re:Couldn't be more wrong (Score:3, Insightful)
The other examples you cite are all programmer's tools, so I can pretty much guarantee they're not "popular" among anybody except perhaps software developers. But software developers on Mac have XCode, so there you go.
Re:Apple & Java don't play nice anymore (Score:3, Insightful)
Mac is a great platform, but if you're trying to stay on the cutting edge in Java, you need to be running Windows (Linux, meh - bugs always take a lot longer to disappear from the Linux JVMs than the Windows ones, so...). Lucky for me, most of my work is 1.4 targeted so it doesn't really matter.