

How/where to begin learning mobile (app) development? - bakhlawa

By way of background, I have an undergrad in CS and worked as a C++/Java programmer 10 years ago. I also have some experience with web development (LAMP). I'd like to get into mobile development (apps) for iOS, Android, etc. but quite frankly have no idea where to start.<p>If I choose a platform now (iOS or Android), am I essentially "stuck" in the platform or can I jump between the two? What do I need in terms of knowledge, skills, funds(?), to begin this learning process? The objective is to know enough to put together a team of devs, designers, to execute on B2B mobile apps.
======
Cabal
_but quite frankly have no idea where to start_

Pick up their respective SDKs, read their docs, and spruce up on their primary
languages (Objective C for iOS, Java for Android). Having a device for each
will be needed in the long run, but you can get started with just the SDKs and
emulators.

 _If I choose a platform now (iOS or Android), am I essentially "stuck" in the
platform or can I jump between the two?_

Not really, but as mentioned above, you will be jumping languages in most
cases. If you're planning on supporting both platforms (or more),
standardizing your back-end and any intermediary code/technology will save
time and effort.

 _What do I need in terms of knowledge, skills, funds(?), to begin this
learning process?_

Funds will be specific to your venture, but a good foundation in C++/Java is
more than enough to get you started. Get reading!

~~~
bakhlawa
I'm assuming dropping a couple thousand dollars for a Mac and a "dev account"
is obligatory to get any serious iOS training, development, testing?

Still fail to understand why Java was chosen for Android, but oh well, the
learning curve ought to be flatter.

~~~
Cabal
_I'm assuming dropping a couple thousand dollars for a Mac and a "dev account"
is obligatory to get any serious iOS training, development, testing?_

Good point, had a brain fart. I suppose it depends on how little you want to
spend, obviously bigger is better. On the cheap end, I've had no problems
developing in the past on a cheap refurb Mini (Intel-based) after swapping in
memory and a faster drive. Also, you can pick up the SDK and Xcode with an
unpaid developer account, but will need the real thing for publishing to the
App Store.

 _Still fail to understand why Java was chosen for Android, but oh well, the
learning curve ought to be flatter._

I think you've mostly answered your own question: everyone knows it. On the
bright side, the latest JVM with JIT is pretty nice.

------
js4all
When you are targeting multiple platforms, it pays to choose an abstraction
framework like titanium or phonegap. Using these frameworks, your app can
easily be ported.

~~~
c1sc0
While that's fine for simple, information-appliance apps, more serious apps
_need_ to be coded natively if you care about user experience. At least for
now, but I hear the HTML5 train is a'comin'.

~~~
js4all
Good point. Although you can access parts of the hardware like accelerated
transitions, GPS, accelerometer etc.

