What work has been done on cross-platform mobile development?

Viewed 20167

Have any well-documented or open source projects targeted iPhone, Blackberry, and Android ? Are there other platforms which are better-suited to such an endeavor ? Note that I am particularly asking about client-side software, not web apps, though any information about the difficulties of using web apps across multiple mobile platforms is also interesting.

17 Answers

I think there best chance for cross-platform mobile success is the Web. Just write a very simple Web application for what you want to achieve. It should work on the Nokia S60browser, Iphone and Android.

That's already a lot of mobile devices...

XMLVM (via Coke and Code) and EdgeLib currently seem to be the most mature options. EdgeLib is aimed primarily at game developers, and according to Coke and Code, the XMLVM developers are difficult to contact.

The iPhone uses Objective C, the Blackberry Java SE with RIM functionality and Android another custom version of Java. I could possibly see how you could combine the latter two but there is no functionality (without jailbreaking) of running Java applications on an iPhone.

The best bet I've seen so far is something like Qt that will run on Windows CE, almost certainly shortly Symbian, some Java platforms and the three major desktop OSs.

redfivelabs have implemented the .Net compact framework for the S60 platform

Titanium Mobile from Appcelerator looks interesting. You develop your app in HTML & Javascript and upload to their server where it is compiled into a native application of the target platform (currently iPhone & Android)

For the iPhone there's currently no such notion as Open Source as the Apple iPhone SDK NDA forbids publishing code. They also forbid posting code on any non-Apple site or even non-Apple discussion forums on iPhone development. As soon as the NDA expires (will it ever?) we'll start having Open Source iPhone apps.

I started to use a really cool cross-platform SDK called EdgeLib. It allows you to use a simple API and you can compile your projects to a variety of platforms: Windows Mobile Pocket PC, Windows Mobile Smartphone, Symbian Series 60, Series 80, Series 90, Symbian UIQ, Gamepark Holdings GP2X, Gizmondo and Windows desktop. I know iPhone, Blackberry, and Android are not on that list but the developers mentioned that these platforms are on their roadmap.

EdgeLib looks promising and has an iPhone beta announced but not open yet.

Well BlackBerrys don't really have Java SE, they have Java ME, with a lot of additional librarys provided by RIM. Same goes for Android. The only cross-platform apps you'll ever see on mobile devices are probably written in strict Java ME, which runs on most devices. However, just like JavaScript between different browser, Java ME has is quirks across different devices, so source code changes may be necessary.

S60 on Symbian OS has alot of interesting projects happening relating to desktop/server languages to move applications mobile. Some interesting ones:-

Python: sourceforge
Ruby: ruby-symbian
Mozilla: mozilla
S60Webkit: S60browser
POSIX: openc_cpp

Related