2

Possible Duplicate:
what mobile platform should I start learning?

I am fresher to enter into IT industry. Which is better chioce for my career to enter into IT industry among J2ME ,iPhone ,Android.....Please give me the suggestion and help me for my better career

Community
  • 1
  • 1
Blanc
  • 21
  • 1
  • see http://stackoverflow.com/questions/1092144/what-mobile-platform-should-i-start-learning and http://stackoverflow.com/questions/1414288/j2me-vs-android-vs-iphone-vs-symbian-vs-windows-ce – ax. May 18 '10 at 06:23
  • While the linked to answers are good, the market is changing fast and the numbers listed there may no longer be relevant. Android has been growing fast lately and WM is still losing market share, but maybe Windows Phone 7 will change that. – Mattias Nilsson May 18 '10 at 06:43
  • 2
    A slightly off-topic question: Does anyone do anything fun with J2ME these days? – Mattias Nilsson May 18 '10 at 06:44
  • 1
    You've flagged this question with "java" - if you want to program in Java, forget about the iPhone. There is no Java on the iPhone and Apple it not going to allow it. I'd have a look at Android instead. – Jesper May 18 '10 at 07:35

3 Answers3

3

Some information about the various platforms:

  • Android:
    • Programming Language: Java
    • Platform: A subset of the Java API plus Android-specific APIs
    • Development Environment: Either commandline or Eclipse on Windows, Mac, or Linux
    • Devices: Handsets from multiple manufacturers
    • Licensing: Fully open source
    • Deployment: However you choose
    • Marketshare: According to recent reports, in 2nd place (behind Blackberry)
  • iPhone:
    • Programming Language: Objective-C
    • Platform: CocoaTouch (A set of frameworks/libraries written in Objective-C)
    • Development Environment: Xcode Developer Tools and iPhone SDK on Mac, only
    • Devices: iPhone, iPad
    • Licensing: Proprietary
    • Deployment: Through the iTunes App Store (approval plus $100/yr required)
    • Marketshare: According to recent reports, in 3rd place (behind Android)

Note that market share is subject to change and that Android and iPhone are currently quite close. Now, as for your question about entering the IT industry....

For entering the IT industry, you should really learn the basics of computer software engineering, first, and you should familiarize yourself with common industry-grade programming languages. If you take a look at Programming Language Popularity, you can see that Java, C++, and Python are all consistently ranked highly. I suggest that you start off with those languages. Once you are comfortable with those languages on a standard desktop platform, only then should you consider mobile app development. If you already know Java, then developing both for J2ME and Android should be easy. Note, though, that J2ME is much more limited in functionality than Android (Android supports a larger subset of the Java APIs than J2ME), and Android is most likely going to end up in a second or first place position in the mobile phone market (they recently overtook iPhone and are currently behind Blackberry as of this writing). If you are familiar with C and C++, then learning Objective-C and programming the iPhone is not too difficult, either. Note, though, that you need a Mac to develop for the iPhone. There are many similarities between C++, Java, and Python, so learning one once you understand the others is not all that difficult. For myself, I started with C++, then learned Java, then Python. On my website, I have listed the various online tutorials from which I taught myself C++... those are a pretty good start.

Michael Aaron Safyan
  • 93,612
  • 16
  • 138
  • 200
  • @ax, the top three smart phone OSs are BlackBerry, Android, and iPhone. Nokia has pretty good market share in phones, in general, not sure about smart phones, though. Also, these figures were for the U.S. – Michael Aaron Safyan May 18 '10 at 07:40
  • it might be interesting to look at the worldwide stats: http://techcrunch.com/2010/02/23/smartphone-iphone-sales-2009-gartner/ . symbian 2009 market share: 46.9%. – ax. May 18 '10 at 15:18
  • @ax, that article is from February. Are there any more recent stats? – Michael Aaron Safyan May 21 '10 at 04:15
2

there is a very nice paper about mobile development, developing for different platforms, and platform choice called Mobile Developer’s Guide to the Galaxy. it has a perfect answer to your question (p. 61):

Now what - which Environment Should I Use?

The short and crystal clear answer: it depends.

The longer answer: think about your target users, about their needs, about their devices and their dataplans. And about your vision and the requirements for your idea. Remember that you are not necessarily restricted to a single application environment. A practical approach is to use the environment that you are most comfortable with and then move on to other environments for increasing the market reach of your app. Sometimes it also makes sense to combine different environments, for example by providing a mobile website for casual users and a J2ME app for your power users.

followed by a table providing a [very] rough overview about the individual strengths and limitations of each application environment.

much recommended.

Community
  • 1
  • 1
ax.
  • 58,560
  • 8
  • 81
  • 72
1

My vote is for Android (or J2ME),
Android is going places, you may as well jump on the band wagon. (sorry Apple) Plus it is just a lot more open and you can program in whicher enviroment you wish. I can't think of a single down side of choosing Android over the IPhone. And there are plenty of advantages.

WalterJ89
  • 1,025
  • 2
  • 7
  • 24