views:

644

answers:

7

I want to learn mobile programming, specifically Android or iPhone programming, but not sure if it is necessary to learn J2ME before working with Android or iPhone. I know only core Java (and OOP concepts very well).

I need your suggestion, especially if any one working in mobile development field. Hoping for favorable reply...! Thanks.

+1  A: 

For what I know J2ME doesn't have much to do with android development. I'd suggest that you head here

Michael Krelin - hacker
+8  A: 

iPhone development has nothing to do with J2ME.

Android development is based on Java, but the SDK is different from J2ME. If you only know Java, Android may be easier for you. In either case you don't need J2ME.

kgiannakakis
+1 for correct answer and covering both cases. By the way, further reading for those coming from Java (like OP) and interested in iPhone development: http://stackoverflow.com/questions/487932/how-much-of-a-transition-is-programming-java-to-iphone-apps and http://stackoverflow.com/questions/783321/whats-the-best-way-of-learning-iphone-programming-when-coming-from-java
Jonik
+1  A: 

And for iPhone - there is no Java so use Objective-C

Mark
A: 

I have worked on mobile software but not on application side.However If you have concepts of core Java , you can start with Android.You can download android sdk from http://www.android.com/

pdssn
+4  A: 

As has been already pointed out, J2ME experience is not a requirement for developing on either stack.

Android development is effectively java-syntax (under the hood things a bit different), so if you already have strong Java skills then this will be the easiest to get started with. There will be a host of new topics to learn concerning UI and general mobile development techniques so familiarity with the language will make things a little easier.

In terms of the iPhone, bear in mind that you will need a Mac to (officially for now) develop using the current SDK and as has been pointed out uses objective-c for development.

In terms of your experience and ease of device debugging then android will offer the lower-bar to entry (and it's cheaper to deploy items to the market).

A useful site will probably be www.anddev.org in addition to the main android link already posted.

jdm
A: 

J2ME experience is not required, nor an advantage, for Android or iPhone development.

Feature phones from for example Nokia and Sony Ericsson run J2ME applications.

  • J2ME apps are programmed using a subset of the Java 1.3 programming language.
  • J2ME apps are realized with the API known as MIDP, and various optional API:s known as JSR:s that may or may not be available on any given device.

Android applications are just distantly related to J2ME applications.

  • Android apps are programmed using the full Java 1.5 programming language (aka Java 5).
  • Android apps are realized using the API known as simply Android, and a subset of the Java 1.5 frameworks available for desktop and server applications.

iPhone apps are not even distantly related.

  • iPhone apps are programmed using the full Objective-C 2.0 programming language.
  • iPhone apps are realized using the API known as Cocoa Touch, that shares about half of it's API:s with the Cocoa framework used for developing Mac OS X desktop applications (The shared parts are commonly known as Foundation).
PeyloW
+1  A: 

No.

Android have a complete different stack. It uses the core of the language and you'll have to learn the API. You can start at: http://developer.android.com

iPhone doesn't use Java, it uses Objective-C, so that's a complete different history. You can start here: http://developer.apple.com/iphone/

OscarRyz