Online Training Spring Hibernate Training in Delhi R Programming Training Course Big Data and Hadoop Training Java Training

Comparing the various Open Source Java iOS Tools

With relaxation that Apple introduced for all the Java developers, more and more Open source Java tools are being made available for iOS. These tools run on all Apple devices i.e. iPhone and iPad.


NSMutableArray example Comparing the various Open Source Java iOS Tools Top 10 Health Applications for iPhone Maximizing the iPhone 3G Experience, Getting the Most Out of iPhone 3G What is iPhone iPhone News and Updates Installing iPhone SDK What is iPhone SDK? iPhone Tutorials iPhone Programming tutorials and examples Access Modifiers and Garbage Collection Objective C Constructors Objective-C keywords iPhone Class and Method declaration and definitions Message Expressions and comments Andrew Stone Designs Twitter Applications Purchase iPhone Without Contract Apple iPhone in China Finally Apple Unlocks the Bluetooth Features on iPhone iPhone 3.0 SDK Mac launches Cha-Ching feature in iPhone Using iPhone for the Nintendo Wii iPhone 3.0 is finally here! Blackboard Inc. Develops Seamless Learning for iPhone Users iPhone News Reliability of iPhone 3G iPhone 3G Comparison Flash on iPhone 3G Maximize Your iPhone 3G Experience The iPhone as a Business Phone iPhone 3G Buying Guide Top iPhone 3G Downloads Sites Tips and Guide iPhone 3G as a Gaming Device iPhone's Missing Features iPhone 3G vs iPhone 2G iPhone Cost and Pricing iPhone Troubleshooting Guide iPhone Application Store Submission and Acceptance Process iPhone Security and Safety Tips iPhone 3G FAQ Best iPhone Accessories and Attachments All iPhone Tips and Tricks iPhone Development in 2009 iPhone Application Development iPhone Advantages and Disadvantages Objective C Objective-c Dealloc Objective-c memory management: retain and release Dynamic Types in Objective-C

With relaxation that Apple introduced for all the Java developers, more and more Open source Java tools are being made available for iOS. These tools run on all Apple devices i.e. iPhone and iPad.

Before it was not a possibility to write an application in Java that will run on iOS and developer had to code in Objective-C.

Objective-C is the Apple's code for iOS devices.

In September 2010, Apple relaxed its restrictions on development tools allowing other ecosystem developers to build iOS applications.

Now there are third-party open source frameworks and Oracle's ADF (Application Development Framework) Mobile that allows the developer to run Java on iOS.

Google has also provided an open source J2ObjC translator that translates Java code to Objective-C source code.

There are three categories of tools Open source Java iOS tools:

The first one uses server-side technologies like Vaadin, Tabris, and ICEmobile that offers a Java framework for building Web applications. It publishes HTML5, CSS, JavaScript and JSON and renders it on the device through web browser.

The second one uses client-side technologies that run Java code directly on the iOS devices. These tools use compile-time conversion to a native binary.

The third and last one, use Hybrid technologies such as Oracle's Application Development Framework. These tools disseminate server-side as well as client-side Java components.

There are now few open source applications/tools that can write Java code and run on an iOS device natively. Some of them are listed below:

Codename One:

Codename One created by Chen Fishbein and Shai Almog, is a cloud-based cross-compilations that allows the user to write their code in Java and converts it in Objective-C. It has a simulator and cloud based build servers.

Codename One

A developer can create an application using Eclipse or NetBeans in java programming that is suitable for most of the developers across the world. Codename One translates all the code to native code and hence is faster in comparison to other iOS tools.

Codename One has a simple architecture making it better portable than HTML5.


RoboVM translates the main class of a program (Java byte-code) into native code (ARM or x86). It includes a Java to Objective-C Bridge and use the CocoaTouch APIs.

RoboVM compiles runtime classes like java.lang.Object, java.lang.String that runs directly on the CPU. It keeps a cache of compiled classes and only recompiles a new class. It also has an Ahead-Of-Time compiler based on LLVM, C bindings, and an Objective-C bridge.


A RoboVM plug-in for the Eclipse Java IDE is also available. A developer has two options either he/she can create the UI in Java or can use Apple's Interface Builder and Xcode to develop the UI. In case of later, the developer must copy the Nib file into RoboVM project and link it to the Java classes.


J2ObjC, designed by Google, is an open-source command-line tool that changes a code written in Java into Objective-C and helps the developer in making application for iOS platform.

Editing of generated files is not required.

Non-UI code of an application is written in Java while the UI code must be written in Objective C or Objective C++.

Android UIs are then shared using Android's API and web app UIs is shared using GWT. It also has Java annotations and a Java compatible library for Objective-C.


J2ObjC supports most Java language and runtime features like exceptions, inner classes, generic types, threads and reflection.

J2ObjC does not have platform-independent UI toolkit.



Online Training Classes

Share on Google+Share on Google+

Comparing the various Open Source Java iOS Tools

Posted on: September 2, 2013 If you enjoyed this post then why not add us on Google+? Add us to your Circles



Discuss: Comparing the various Open Source Java iOS Tools  

Post your Comment

Your Name (*) :
Your Email :
Subject (*):
Your Comment (*):
  Reload Image