Rhodes is OK, but the documentation isn't great, and you end up with something that doesn't particularly fit the platform, and a limited UI compared to what you can achieve with the proper API. Ruby, though!
It's an area that's going to mature a lot over the next couple of years, I think. MonoTouch, which is a Mono .NET framework and toolkit that compiles to native iPhone, seems to be the best effort so far. They're planning on targeting other systems with it, although it's covered in Cocoa-style NS* naming so they might be planning to create separate class libraries for Android etc.
Part of the issue is that the underlying concepts of the different OSes are very different: Android's got its own JVM and the whole Activities and Intents paradigm; webOS is basically WebKit; iPhone is a Cocoa deriviative and the backgrounding has been bolted on. Symbian and RIM are the most traditional, since they're basically just Java ME. And Windows Mobile can fuck off until they release 7.
BTW, it's possible to write Android apps without using "that horrid XML stuff", although it's not recommended. Unfortunately it's not possible without using that horrid Java stuff; is it just me, or have Sun given up? |