Feeds

Google offers tool to bridge Android and iOS app dev

Translates Java code to Objective-C

Internet Security Threat Report 2014

Google has released a tool aimed at making it easier to port software between the two major smartphone platforms, by converting Java code for Android into Objective-C code that can be compiled to run on Apple iOS devices.

"J2ObjC is not a Java emulator," writes Google's Tom Ball in a post announcing the tool, "but instead converts Java classes to Objective-C classes that directly use the iOS Foundation Framework."

The tool doesn't claim to make writing mobile apps a completely cross-platform affair. For one thing, it only handles the back end. Developers who use it to translate their apps will still need to write new UI code in Objective-C using Apple's iOS SDK.

Using J2ObjC, however, developers can code their core non-UI functionality in Java, then compile versions of those portions of their apps for both Android and iOS from a single code base, rather than maintaining a separate code tree for each platform.

In fact, Ball says, they can even use the same Java code to build web-based versions of their apps using the Google Web Toolkit (GWT), which can translate Java code into JavaScript to run in the browser. All three versions would have identical core functionality, because they would be based on the same source code.

Google says J2ObjC works with most build tools, including Xcode and Make, and that the translation from Java to Objective-C is totally automated. No additional editing of the Objective-C source code output by the tool is necessary.

Ball says J2ObjC supports the full Java 6 language and many of its key runtime features, including exceptions, generic types, threads, reflection, and inner and anonymous classes. It even does a fair job of modeling Java-style memory management in Objective-C. A full list of the supported language translation features is available on the project's website.

To build and use the system, developers will need a machine running Mac OS X 10.7 (Lion) or higher with Xcode 4 or higher and JDK 1.6 installed, plus Apache Maven.

As for how well it works really, Google says the project is "currently between alpha and beta quality," with the initial release given version number 0.8 as an indication of its release status.

"Several Google projects rely on [J2ObjC], but when new projects first start working with it, they usually find new bugs to be fixed," reads a statement on the project homepage. "Apparently every Java developer has a slightly different way of using Java, and the tool hasn't translated all possible paths yet."

If you'd like to join the bug hunt, the full source code for J2ObjC is available now under the Apache open source license. ®

Choosing a cloud hosting partner with confidence

More from The Register

next story
Netscape Navigator - the browser that started it all - turns 20
It was 20 years ago today, Marc Andreeesen taught the band to play
Sway: Microsoft's new Office app doesn't have an Undo function
Content aggregation, meet the workplace ... oh
Sign off my IT project or I’ll PHONE your MUM
Honestly, it’s a piece of piss
Do Moan! MONSTER 6-day EMAIL OUTAGE hits Domain Monster
Customers freaked out by frightful service
Return of the Jedi – Apache reclaims web server crown
.london, .hamburg and .公司 - that's .com in Chinese - storm the web server charts
NetWare sales revive in China thanks to that man Snowden
If it ain't Microsoft, it's in fashion behind the Great Firewall
prev story

Whitepapers

Forging a new future with identity relationship management
Learn about ForgeRock's next generation IRM platform and how it is designed to empower CEOS's and enterprises to engage with consumers.
Why cloud backup?
Combining the latest advancements in disk-based backup with secure, integrated, cloud technologies offer organizations fast and assured recovery of their critical enterprise data.
Win a year’s supply of chocolate
There is no techie angle to this competition so we're not going to pretend there is, but everyone loves chocolate so who cares.
High Performance for All
While HPC is not new, it has traditionally been seen as a specialist area – is it now geared up to meet more mainstream requirements?
Intelligent flash storage arrays
Tegile Intelligent Storage Arrays with IntelliFlash helps IT boost storage utilization and effciency while delivering unmatched storage savings and performance.