Java to find its way onto iOS devices?
The platforms founder James Gosling believes it is a possibility with the arrival of new Java Enhancement Proposal targeting statically-linked JNI libraries.
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
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.”
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
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