Finally on the App Store?
Java to find its way onto iOS devices?
A new OpenJDK proposal could help remove several boundaries Java
developers face building on iOS.
Previously, getting a Java application on an Apple device was a logistical nightmare, at the best of times. Though there are already workarounds for developers, such as Oracle ADF Mobile, the JVM is still effectively outlawed on iOS.
However, last month, a new Open JDK Java Enhancement Proposal entitled ‘Statically-Linked JNI libraries’ was created, attempting to bring the two closer together.
The intention of the proposal is to modify the JDK so developers may package a Java runtime, native application code and Java application code into a single binary, without the use of shared native libraries or any changes to the existing Java code. A further goal of JEP 178 is to allow the use of both static and dynamic native libraries with a Java application.
While the specification page doesn’t mention iOS specifically, the developer mailing list does discuss potentially seeing a Java implementation on the Apple platform.
Java’s founder James Gosling however is “willing to wager” that the new proposal will be used “as a part of complying with the Apple TOS without turning off code generation.”
Gosling told InfoWorld’s Paul Krill that JEP 178 is “a big deal” for those excited about Java’s recent foray into embedded waters.
“The embedded Java world has been remarkably healthy and particularly the world of folks using the full-up JDK implementation,” Gosling explained. “Embedded devices aren't memory-constrained anymore, so trimmed down versions like Java ME (Micro Edition) aren't required. But to stop using Java ME and switch to the full JDK, the JDK needs to be able to deal with the packaging environment.”
In recent months, Oracle have begun to embrace iOS more openly. In February, Chief Architect for the Client Java Platform Richard Bair announced plans to open source a JavaFX port for iOS and Android. While it’s still early days for both, with plenty of hurdles to overcome technically, it could breathe new life into the Java platform.