views:

10038

answers:

11

I have very little idea about mobile platform, though I am interested to program for mobile platform. Would you please compare between J2ME VS Android VS iPhone VS Symbian VS Windows CE. I would like to know which one is better, and if there is any VM technology to test the programs. Which one should I choose and why? Is there any IDE, debugging facilities?

Personally I would like to code for open source, but any suggestion are welcome. I have preliminary knowledge on java.

I would also like to know, if there is anything else that you can recommended.

Thank you

+1  A: 

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.

Alex Martelli
Same with Java on Android.
fiXedd
And while your statements on doing browser-based development are absolutely true (for apps which CAN be browser-based) I don't buy this as advice for someone who's interested in making apps *today*... current phone's browsers are just too dogone slow still.
fiXedd
@fiXedd I agree
Sadi
I've found both the iPhone and Android browsers (and WebOS I assume) to be quick enough for certain applications. Google Latitude runs great in MobileSafari!
rpetrich
@fiXedd: You can use the NDK too.
Draemon
+13  A: 

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
    • through Android Market ($25 one-time fees) or like normal applications
    • The platform is completely open source
  3. iPhone
  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.

fiXedd
Excellent advice! I see the market panning out similarly.
rpetrich
You should add to Android's list that it's open source, especially considering that was mentioned in the question as a preference.
Fostah
All four platforms you listed will be around for many years to come, for several different reasons. But I think that only iPhone and Android will be platforms where you can have a profitable business. Windows Mobile is slowly dying by Microsoft neglect/incompetence. Java ME is too much work for too little return, and a stone age platform. JavaFX is too little and too late to really ever take off.
PeyloW
@Fostah good point... done.
fiXedd
I agree generally (and with the comments above), except that I think it's a little too early to say that iPhone will not be the biggest player. The advantage it has over android is that application developers know they will be marketing their app to people used to paying a premium for their products.
Draemon
You mentioned that iPhone apps can be made using Java... can you please give some resources on this.
Saurabh
http://www.youtube.com/watch?v=s8nMpi5-P-I
fiXedd
+7  A: 

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.
Teknolog
A: 

Symbian is capable to hide any functionality in order to scale the price of the mobile independently from the underlying hardware. That makes Nokia phones with full feature list extremely expensive. At least before one year, that was standard with Nokia phones.

They were cheating on us. Right now, I just simply don't believe them, as they played all my trust. As there is a good alternative, with good opening, I will stick to android, and develop my programs for that.

kobor42
Would you please provide some reference links?
Sadi
+1  A: 

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.

spaceboy2000
Interesting, I will take a look
Sadi
+2  A: 

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.

Meitoli
+1 for the NeXT quip
Conor
A: 

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.

Butters
A: 

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.

Mike
Source code is not submitted to Apple. Only compiled apps.
cannyboy
i stand corrected. thanks for the note.
Mike
+1  A: 

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.

JuanZe
A: 

A detailed market research about Android and iPhone here

and smart phone market share in first quarter of 2010: smart phone market share

erasmus
A: 

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.

Rif