Op-Ed: Java is still struggling on post-PC devices
The latest version of ADF Mobile allows Java to be run as part of native iOS apps, but its an ugly hack, not a robust solution.
release of ADF Mobile comes with the intriguing ability to
embed JVMs inside of cross-platform native mobile apps (including
iOS), utilising PhoneGap to serve up Java-powered embedded web
pages. It can even access native device services such as the
camera, contacts and
notifications. Could Oracle have somehow snuck Java onto
Apple’s notoriously closed ecosystem?
In a market increasingly composed of post-PC devices, Java is
struggling to match the success it found on traditional desktops.
An iPhone JVM was proposed
as early as 2008, before developers realised that app
store reviewers had a very low tolerance for apps coded in anything
but Objective-C (although this policy has been
relaxed somewhat since).
Meanwhile on Android, Google’s attempts to sidestep Sun/Oracle’s
licensing restrictions by using Java
syntax without running actual Java have led to
endless lawsuits, and even the upcoming Windows 8
will not run Java apps in the new ‘Metro’ environment.
In this bleak context, bringing
“cross platform Java dev to mobile devices” sounds too good to
be true. A post on the ADF Mobile blog (thankfully absent from
typical PR-speak) outlines
ADF Mobile is a “hybrid” architecture that employs a natively
built “container” on each platform that hosts a number of browser
windows that are used to display the application content. We add
the Java VM as a natively built library to the container for
As you may have gathered, this isn’t exactly WORA finally
reaching the app stores. On iOS, ADF-produced apps will likely be
subject to even worse performance than regular web apps running
Mobile Safari (as WebView containers are not allowed
native code. With the overhead of running an entire JVM on top of
this, it’s difficult to imagine any ADF Mobile apps being described
as anything other than “sluggish”.
Perhaps to developers of internal enterprise apps, serving up
boring, static lists and dialogues, this might be acceptable, but
as Oracle VP of product management Bill Pataky
admits, games even as basic as Angry Birds are impossible under
The truth is that these platform manufacturers don’t want runtimes
outside of their control on their new systems. This is an era of
increasingly closed platforms, whether developers like it or not,
and Java will remain a second-class citizen – only able to run via
ugly hacks like this embedding of JVMs.
Unless something radical happens, Java will continue to disappear
from the client-side, banished forever to run on servers instead;
after all, even the
traditional desktop is abandoning it, in part thanks to endless
security gaffes. Perhaps ADF Mobile will suddenly bring new
relevancy to Java on post-PC devices, but we wouldn’t count on