Cross-Platform Mobile Development
There are a great deal of cross-platform mobile development frameworks around. The major platforms, all mutually incompatible, are:

* iOS (iPhone, iPad & iPod Touch)
* Android
* Blackberry
* Windows Mobile
* Windows Phone 7
* Symbian
* MeeGo (merger of Maemo and Moblin)
* webOS

There also exist many different mobile development frameworks that support various arrays of smartphone platforms, including but not limited to:

* Rhodes
* ELIPS
* RAMP
* Titanium
* PhoneGap
* MoSync
* airplay
* Bedrock
* Qt

Qt is a great framework for cross platform desktop application development, and takes care of several mobile platforms - Windows Mobile, Symbian, MeeGo. There are community ports for iOS and Android (and webOS?). Blackberry and WP7 are on their own for now.

MoSync also looks quite good, supporting a great number of platforms, including Java-based ones, from C++. However it's not very well known AFAIK and has its own issues.

So my question is: is there ANY cross-platform mobile development framework actually worth using? Every one I've found has one disadvantage or the other that makes it unsuitable for use.

At least if Qt supported iOS and Android you'd need at most three versions of an app to support all platforms (Qt, Blackberry and WP7). The community ports that are around are not well supported at all though, and are far from complete. Plus, even if they are completed, **would Nokia ever support them anyways or would that be seen as a bad business strategy?**

Should I just bite the bullet and write native ports for each smartphone platform? Qt + iOS + Android + WP7 + Blackberry + webOS? 5-6 versions of an application is quite a lot to maintain, but the solutions for cross-platform development on smartphones don't look that great right now.
Cross-Platform Mobile Development
===

There are a great deal of cross-platform mobile development frameworks around. The major platforms, all mutually incompatible, are:

* iOS (iPhone, iPad & iPod Touch)
* Android
* Blackberry
* Windows Mobile
* Windows Phone 7
* Symbian
* MeeGo (merger of Maemo and Moblin)
* webOS

There also exist many different mobile development frameworks that support various arrays of smartphone platforms, including but not limited to:

* Rhodes
* ELIPS
* RAMP
* Titanium
* PhoneGap
* MoSync
* airplay
* Bedrock
* Qt

Qt is a great framework for cross platform desktop application development, and takes care of several mobile platforms - Windows Mobile, Symbian, MeeGo. There are community ports for iOS and Android (and webOS?). Blackberry and WP7 are on their own for now.

MoSync also looks quite good, supporting a great number of platforms, including Java-based ones, from C++. However it's not very well known AFAIK and has its own issues.

So my question is: is there ANY cross-platform mobile development framework actually worth using? Every one I've found has one disadvantage or the other that makes it unsuitable for use.

At least if Qt supported iOS and Android you'd need at most three versions of an app to support all platforms (Qt, Blackberry and WP7). The community ports that are around are not well supported at all though, and are far from complete. Plus, even if they are completed, **would Nokia ever support them anyways or would that be seen as a bad business strategy?**

Should I just bite the bullet and write native ports for each smartphone platform? Qt + iOS + Android + WP7 + Blackberry + webOS? 5-6 versions of an application is quite a lot to maintain, but the solutions for cross-platform development on smartphones don't look that great right now.