File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes Android and the fly likes Cross platform development Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Mobile » Android
Bookmark "Cross platform development" Watch "Cross platform development" New topic

Cross platform development

Claudio Lande
Ranch Hand

Joined: Mar 24, 2005
Posts: 46

developing Android applications is great but most of the time what people need is being able to write the same applications for different platforms (Android, iPhone, Symbian, etc). What advice do you have for dealing with such a requirement?
Do you recommend developing native applications or (when possible) would it be preferable to develop web applications with a web presentation layer adapted for a specific OS/terminal?

Thank you in advance and best regards,

SCJP 1.4, SCWCD 1.4, PMP, ITIL V3 Foundation
Perry Hoekstra

Joined: Dec 07, 2010
Posts: 28
For native applications, the only cross-platform framework I am aware of is the Rhodes framework:

However, a word of warning, you actually code within the Rhodes framework which is Ruby-based. Their products take care of the necessary conversion to the appropriate phone platform environment. This conversion does not generate source code. In the case of Android, Rhodes generates Java bytecodes. For the other platforms, it has a Ruby interpreter that runs on the phones and executes the application as a Ruby app. This means that once you go down the Rhodes path, you are committed. You cannot change your mind six months down the road and just use the individual platform source code deck for each phone type as Rhodes does not generate it.

In addition, the installation/configuration of their product suite is not easy. Preston Thornton posted an entry last last year on how difficult the setup is for the product suite. It all depends on how important it is for you to support multiple platforms. For a single app that does a single task such as track a contact list, probably not. However, a mid to large size corporation that needs to rollout a major business app and support multiple smartphones, Android, iPhone, and Blackberry, Rhomobile is an attractive offering.
Nidhi Sar
Ranch Hand

Joined: Oct 19, 2009
Posts: 252

Claudio Lande wrote:
Do you recommend developing native applications or (when possible) would it be preferable to develop web applications with a web presentation layer adapted for a specific OS/terminal?

I think this is a question that would increasingly become important as the focus of mobile applications moves from fun apps to enterprise applications. One of the design requirements of these would be to be cross-platform to maximize the use.

There are ofcourse advantages/disadvantages of both approaches (eg how functional do you want to be when network is down etc), which are related to adv/disadv of local vs network applications.

Besides, it needn't be Either-Or. I've seen & am developing stuff that uses both!

"A problem well stated is a problem half solved.” - Charles F. Kettering
robi sen
Ranch Hand

Joined: Jan 25, 2011
Posts: 33

Right now there are a number of cross platform frameworks. One of the most overlooked is Adobe's Air platform that can run on almost anything but iOS. Of course HTML 5 promises to provide something close to a easy to learn and cross platform experience and you can even create applications, in HTML 5, that run locally without require connection to the internet. Frank W has a great chapter on HTML 5 in Android in Action.
I agree. Here's the link:
subject: Cross platform development
It's not a secret anymore!