views:

386

answers:

5

What is the most universal (in terms of cross-platform) software IDE for application development on mobile devices these days? Which APIs are most common?

+1  A: 

I think J2ME still holds the highest marketshare overall (if you count all supporting devices), but the problem with it is that it is not supported by some of the most prominent devices - notably iPhone and any of the Android-based phones (it is supported on S60, and there are third-party JVM implementations on Windows Mobile). If you decide to target it, either Eclipse or NetBeans have decent support - J2ME projects, emulator, debugging on device, etc.

Unfortunately, for the most popular smartphone platforms today, there's no single cross-platform solution.

Pavel Minaev
A: 

Titanium Mobile lets you target Android and iPhone.

Another solution is PhoneGap.

Note that both of these are web stacks (also useful for targeting Palm Pre).

As for native apps, nothing great yet, but maybe soon.

Nosredna
+1  A: 

Qt Framework

A native solution is Qt. Qt development is using C++ and it's (cross-)compiled to binary code so resulting apps are very fast.

For now, Qt apps only work with S60 devices with Qt library, and Nokia will be rolling out new devices with Qt built-in (it will be sort of "replacing" the Symbian SDK itself). As a bonus, all Qt apps work on all desktop OSes too (sans device-specific API like accelerometer etc.).

Nokia will also make Qt support for other devices (Qt's goal is to work on all devices, be it desktop or smartphones), however it'll probably take quite some time. But for the time being, this is the closest you can get for portable native mobile application development.

Hendy Irawan
+1  A: 

PhoneGap

I'm starting mobile app development now and I'm using PhoneGap. PhoneGap "officially" supports Android, iPhone, and BlackBerry, but it actually can be made to work on Symbian S60 (with WRT, built-in since 5th Edition S60 devices), Palm Pre, Win Mobile, and a few others.

I met a few hurdles doing this:

  • Creating UIs is much easier using native widgets than JavaScript ones
  • One of the reason of the above, is that conventional frameworks like Dojo or jQuery, work slowly or worse, doesn't work at all. Dojo's Dijit is one that I can't make it work on Android.
  • At least on Android, the device treats loading resources from local files inferiorly than from a web server (the Internet). This makes web apps that run fine on the Internet, doesn't run when run inside PhoneGap from local assets. You can browse Internet sites within PhoneGap, but that completely misses the point.
Hendy Irawan
Note that if you use PhoneGap, you probably want a good JavaScript framework with it.My experience with PhoneGap + Dojo combo hasn't been fruitful.XUI JS (http://xuijs.com/) is an AJAX framework targeted for mobile phones (esp mobile WebKit browsers).I'm trying it now.Don't confuse with the xoetrope's XUI AJAX framework (http://www.xoetrope.com/xui). Man, I wonder if people still do google research before choosing a name.
Hendy Irawan
A: 

I've found another one called Metismo Bedrock. It claims to support all the following platforms with its cross-compiler:

  • Antix Game Player
  • Apple iPhone
  • BlackBerry
  • BREW
  • Flash (Beta)
  • Google Android
  • J2ME
  • Nintendo DS/DSi/DSiWare
  • Sony PSP
  • Symbian (Beta)
  • Windows
  • Windows Mobile

The resulting apps are native, you can even develop games with it.

And it's a commercial product.

Hendy Irawan