In association with heise online

27 October 2008, 13:29

Open source XMLVM aims to allow Java apps to run on iPhone

  • Twitter
  • Facebook
  • submit to slashdot
  • StumbleUpon
  • submit to reddit

A new open source project, XMLVM, aims to allow developers to write Java applications which can run on the iPhone. The project is in its early stages, but is all based around a technology which translates Java class files or .Net executables to an XML document. The XML representation of the code is the crux of XMLVM; transformations can be applied to XMLVM XML files to convert them to other target environments. One of these targets is Objective-C on the iPhone, allowing Java applications to notionally run on the iPhone. The iPhone SDK agreement that developers have to sign up for forbids Java and other languages being implemented on the iPhone, but this route bypasses that restriction by creating native applications.

The Java code is written to use a Java library which stands in for the iPhone's Cocoa UI components. Once the Java is compiled to a Java .class file, it is then converted XMLVM. The system then applies the iPhone transformation and produces Objective C code which can then be compiled for the iPhone as a native application.

The technology is not limited to the iPhone. Other parts of the XMLVM project are working on other XMLVM transformations such as converting .NET code to JVM byte code and cross compiling Java and .Net programs to JavaScript so they can be run as browser based Ajax applications. The transformations are implemented using XSLT.

Arno Pruder, one of the developers of the project and an Associate Professor at the San Francisco State University, recently presented a Google Tech Talk on the iPhone cross compilation where he examines, in an hour long detailed presentation, the various issues and solutions that the XMLVM developers have come up with.


Print Version | Send by email | Permalink:

  • July's Community Calendar

The H Open

The H Security

The H Developer

The H Internet Toolkit