Question

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.

Was it helpful?

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.

OTHER TIPS

You can find everything about J2ME VS Android VS iPhone VS Symbian VS Windows CE in the below survey image:

alt text

Admittedly I'm biased, but points in favor of Symbian are:

  • Is open source
  • Has by far the largest marketshare (45% or so) of smartphones
  • Runs on cheaper hardware than Android and iPhone (means volumes will go up significantly faster)
  • Runs Python, Ruby, Java and Web Runtime Widgets
  • From Symbian^4 will have a complete Qt stack.

For maximum portability among smartphones, I recommend Javascript, HTML, CSS. It's the only way to run on certain systems you don't mention (such as Palm Pre and Google's ChromeOS), and (with suitable restraint in using advanced features, if you can) it's the one and only way to write your app ONCE and have it run on an incredible variety of platforms. Especially with some server-side support (unless your volumes are huge you can get that for free with Google's App Engine), it's quite a powerful and effective solution for many needs.

Otherwise, you need Objective C and Cocoa for iPhone (excellent technologies, really well supported by Apple esp. if you have a Mac, but won't help for other smartphones AND nothing else besides ObjC or JS will run on the iPhone), etc, etc.

I think iPhone is ruling the hardware and sotfware development,android is interesting but too new,symbiam is dying because Nokia,windows Will survive cause of money with bull€&€& but they will. iPhone is too restrictive and damn expensive but is thecoolest now.Finally i think that for the NeXT 2 years iPhone will reign.

A detailed market research about Android and iPhone here

and smart phone market share in first quarter of 2010: smart phone market share http://blog.nielsen.com/nielsenwire/wp-content/uploads/2010/06/smartphone-share1.png

Windows CE has tottaly caputed OS market for rugged devices, companys like motorola, intermec, Dolphin (Honeywell).

Plus Windows CE and Windows Mobile has an enterprise grade database platform.

When comes to spending money, companys buy $1000+ plus devices and build real applications on them.... I see Windows CE being around for a long time and the chart above only show smartphones and no other device, Android and CE can be on in TV's, running gaming system or anything eles.

Take a look at PhoneGap and Appcelerator Titanium if you want to develop for multiple mobile platforms. They both allow you to write programs that run on both Android and iPhone, and PhoneGap also has BlackBerry support. PhoneGap programs are allowed on the Apple App Store, but I'm not sure about Appcelerator Titanium.

My response may be late, but here goes: I've been exposed via work and academia to both the iPhone and Android platforms for the last year. I find two glaring flaws with both platforms that will limit, if not prohibit, viable entry into the biggest mobile market -- the business enterprise. Oddly enough, the flaws are opposite sides of the same issue: enterprise compatibility.

iPhone - Because Apple exerts ultimate control over what app makes it to the App Store, AND the app must be available to anyone once approved, IMO, iPhones will never become the defacto business mobile device. I cannot envision a business that would willingly expose it's source code to Apple's scrutiny. Nor would I want my "internal use only" enterprise app available for download by anyone in the world. I find that scenario laughable.

Android - OTOH, because Google (and now Oracle, too) exert no control whatsoever on app development, anyone who wants to, regardless of ability, can slap any old app on the App Market whether it works or not. I would not want my app lost in the confusing mix of slap-dash, teenage tinkering, malicious mongering developers. Would you?

However, the tie goes to Android because developers are not compelled to submit their apps to public access in order for them to be distributed.

Any other platform is either niche or passe'.

That's my take on the issue.

RE: Is there any IDE, debugging facilities?

For Android development the best option is to use MOTODEV Studio, based on Eclipse platform. Is an integrated development environment with Eclipse 3.5 and Android Development Tools (ADT) plus automatic download and configuration of the latest Android SDK. You can also test applications on an integrated Android emulator within it.

Java ME has the Java Verified Program and the Specs all come from the Java Community Process (JCP) far more advanced and vendor neutral than the others.

You can also take a look at iSpectrum . With this you can code in Java for iPhone, so you can reuse a lot of your code produced for Android and/or J2ME, for example.

Android would rule the market few years down the line, just because its an open source. No person would want to spend much on apps in future . Iphone till date survives because its trendy to use Iphone(as they say!) because of its UI and people are willing to spend on Iphone apps, so i must say its not far to see a mobile platform(Android) which is trendy, easy to use, free et al.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top