views:

81

answers:

1

Hello there, folks. I would like to read your recommendations about the best APIs (free or of manageable costs, mind you) for mobile phones programming. What are the best APIs that can work on a large number of phone platforms (write once run everywhere, anyone?), and what about their security features?

The project in consideration is a mobile phone application that involves monetary transactions.

+2  A: 

Well, if you are looking to develop for a widespread range of devices then you definitively will have to write normal webpages and then fix tiny quirks on a per device basis.

BlackBerry APIs are a superset of J2ME but it's quite expensive to send an app for testing and signing (so you can actually release it).

Symbian S60 is a quite a different programming paradigm in C++. Everything in the APIs is async and the APIs are quite opaque. Signing applications on this one is also ridiculously expensive.

Windows Mobile is very nice to develop for with Visual Studio and all but you'll still find quite a few inconsistencies and APIs missing.

Android is a really nice Java development environment, but again the UI model and the application paradigm is different to every other platform. On the other hand the costs to get an app in the Market are almost neglectable.

Finally iPhone also has quite a nice dev environment and also quite a big hype right now. Getting a developer key is affordable but getting it to the app store might take some time. Also you need to bear in mind that you will have to use Objective-C and Cocoa, a language that's mostly only use in Macs these days.

All in all, go for web if you can. It won't look as nice but it will capture most of the devices out there. If you actually need platform specific stuff I would pick iPhone, Android or BlackBerry.

ruibm
Thanks a lot for the detailed reply! I have thought about designing my apps in XML or web format, and it seems like a pretty viable solution. Keep in mind that I do not aim to distribute it in online stores, it's only for a specific vendor.
Voulnet
One last note, I'm not asking precisely for platforms and OSes, I'm asking about the best APIs for those platforms, and the best APIs that are interoperable and portable among some platforms.
Voulnet
This does sound like you definitively want to write a web app. In my description above I even forgot to mention the Palm Pre which is yet another different platform/apis...
ruibm
Ok then, just to clarify, do you mean writing a web application to be accessed online, OR use XML and web formatting to make my offline applications like many people do with the iPhone?
Voulnet
Write a normal HTML application that is mobile aware and you should be fine. It won't have the same UI bling as a proper app would but it will be so much easier and faste to write, and it will cover every single mobile platform out there.
ruibm