I am a 3x Entrepreneurs. Love writing code and sharing what I learn everyday as a programmer and an entrepreneur.

June 05, 2013

Begin mobile development with learning Android or iOS or a multi-platform framework?

I am a web programmer(LAMP stack) & 3x entrepreneur and planning to take a break from work to learn mobile development. My end goal is build some mobile-first products in future. Although, I will be hiring experienced folks to build these products but I prefer building working prototypes before taking up any business idea full time.

So, I asked the hackernews community this question : Begin with learning Android or iOS?

I got some really good useful answers that will share the answers with you, below :

Answer 1 :  Mutli-platform framework
This is really a hard call. On one hand Java is easier to learn than Obj-C in my opinion, on the other hand XCode provides a better workflow than Eclipse, IntelliJ or the newly released Android Studio. Some people suggested going with a multi-platform framework. I'm against that because you will not really learn how Android or iOS apps really work. For me, a multi-platform framework is really good when you have limited resources and want to quickly build an app for more platforms. For learning purposes, I recommend going native.

Answer 2 : iOS
I would start with iOS. With each of these paths, you will be ready to build your first project. 



Answer 3 : Android
Android has a more iterative state of mind. I would do that. Also, It is becoming much more popular, has more users, ... And seems to be winning the fight for mobile phones. Once you get the product right, you could convert it to iOS. But it takes longer for having an iterative development process there... (long approval time = long waiting for feedback, ...)

Answer 4 : Android
Android would be a good place to start if you intend going global with your apps but if you focus is the States then you gotta start with iOS (although you would still need to get into Android soon)

Answer 5 : iOS
I learned iOS/Objective-C as my first programming language. I've tinkered around with Android but haven't shipped much. I would recommend iOS. You get the interface builder/storyboards which should help you prototype.

Answer 6 : Multi-platform framework
Suggest Appcelerator or Phonegap due to your web skills and the speed with which you can pump out an app. I had a full working app in 3 months that ran on both Android and iPhone. One code base. [My Comment : I won't personally suggest that because this way your knowledge of the subject (mobile dev) will be very limited]

So, as you see there are very distributed opinions about the three options but I have decided to go ahead with iOS development because of :
1. ) Limited form factor/screen size plays an important role in making a compatible app for maximum % of available iOS devices in market

2.) Xcode is more stable, documented and easy to use tool

3.) iOS users are more comfortable with trying new apps and opening their wallets

4.) In general, iOS programming is and will be a highly valued skill going forward

Feel free to add your comments and thoughts on this.