Search code examples
iphoneandroidjava-mewindows-cesymbian

J2ME VS Android VS iPhone VS Symbian VS Windows CE


I have very little idea about mobile platforms, though I am interested to program for them.

Would you please compare J2ME VS Android VS iPhone VS Symbian VS Windows CE.

I would like to know:

  • which one is better
  • which one should I choose and why
  • if there is any VM technology to test the programs
  • is there any IDE, debugging facilities?

Personally, I would like to code for open source, but any suggestions are welcome. I have preliminary knowledge on Java. I would also like to know, if there is anything else that you can recommend.


Solution

  • There's several of these questions floating around on SO already... the most popular seems to be this one: what mobile platform should I start learning?

    Quicky from the accepted answer over there (I edited a bit):

    I think 3-4 platform have a future. But depends what platform do you like and how you like freedom in distribute your applications :)

    1. Windows Mobile
      • C++ or .NET
      • free distribution, just like normal applications or through market
      • You need a Windows PC to develop
      • proprietary
    2. Android
      • Java
      • Open Source
      • through Android Market ($25 one-time fees) or like normal applications
      • The platform is completely open source
    3. iPhone
      • Objective-C or Java (Developing iPhone Applications using Java)
      • through iPhone Market ($99/year fees)
      • You need Mac (Mac OS) for development
      • proprietary
    4. Java
      • J2ME or JavaFX
      • largely open source

    My personal thoughts are: Symbian's dead; Windows Mobile will die, but take a long time; Android will become the standard in the next few years; iPhone will remain trendy in coming years, but NOT take be the biggest player; Pre/WebOS will maintain a niche market, but not be wildly sucessfull, Blackberry will decline, but still be around forever. I'd probably put my time/money into Android or iPhone at this point.