The Register® — Biting the hand that feeds IT

Feeds

Google offers tool to bridge Android and iOS app dev

Translates Java code to Objective-C

Agentless Backup is Not a Myth

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. ®

Regcast training : Hyper-V 3.0, VM high availability and disaster recovery

Re: It's A solution

There is, it's called Qt.

Unfortunately an idiot by the name of Elop didn't understand what he had and threw it away.

It's now managed by Digia.

It currently handles Android, Symbian, Mac OSX, Windows, Linux (many platforms) and a lot of more specialised targets.

I believe that an iOS target is under development, though I don't know how far away.

WP7 & 8 are not currently on the table, which is rather strange.

11
0

Re: *Whoosh* as the point flies over your head

Oh dear. You really don't get it, do you?

Google wrote this tool. Google want people to develop for Android, and Google would prefer that people did not develop for iOS.

Ask yourself this question:

Which of these statements are in Google's interest to say:

a) "Develop Android first, and you can make an iOS version easily."

b) "Develop iOS first, you can make an Android version easily."

Hint - if you said, (b), you're wrong.

5
0
Anonymous Coward

I give the iPhone another 3 years tops

soon people are going to wonder why they ever thought it was good

9
4

More from The Register

Bjarne Again: Hallelujah for C++
Plus: Now officially OK to admit you never used STL algorithms
Interwebs taunt Sir Jony over Apple eye candy makeover
Hey Ive, Ive... add more unicorns, willya?
SCO vs. IBM battle resumes over ownership of Unix
Zombie lawsuit back and wants to suck the brains out of Linux
Apple: iOS7 dayglo Barbie makeover is UNFINISHED - report
Plus: You don't like the icons? Blame marketing
Red Hat to ditch MySQL for MariaDB in RHEL 7
So long, Oracle! Don't let the door hit you on the way out
Shy? Socially inadequate? Fiddling with your phone could help
App 'tells the brutal truth' about social inadequates' chatup lines
Java EE 7 melds HTML5 with enterprise apps
New release arrives with GlassFish, NetBeans support
 breaking news
'Office Facebook' firm Tibbr wants you to PAY for mobe-meetings app
Great idea. Punters won't cough for it though
 breaking news
The only Waze is Google: Ad giant tipped to gobble map app 'for $1.3bn'
Pac-Man-satnav-ish upstart in bidding war with Apple, Facebook
 breaking news
PM Cameron calls for modern, programmable computers! (We think)
IT education musings to G8 chiefs to mystify IT industry