Do any libraries or other development resources exist that can help reduce the effort involved in porting applications between various mobile platforms? In particular, I am interested in supporting iPhone, Android, and Windows Phone 7. Some areas of concern include UI, client-server communication, and hardware support (e.g., camera, GPS, etc).
MonoTouch allows you to write iPhone apps using .NET (C#). In the near future, an Android version will also be available (MonoDroid)
As for Windows Mobile, I'd forget about that and concentrate on Windows Phone 7, which will use Silverlight for apps. And of course, Silverlight is .NET as well, so you can share all your business logic between Silverlight, MonoTouch (iPhone) and MonoDroid (Android)
There is actually a really good tool out there that allows you to write apps for android and iphone in javascrpit, HTML and CSS. Then the program will port the app for either iphone or android, building the objective C code (iphone) or java code (android) as it compiles. Later revisions of the program are said to include the ability to port to palm and blackberry as well. And the bonus... free and open-source!!
PhoneGap supports Android, Blackberry, and iPhone formally. They tweeted that it works on Windows Phone 7, but it's a bit early to feel certain of that, since that OS has not shipped yet. Has reasonable but far from complete hardware support.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With