One of the first decisions you’ll have to make when developing a new mobile app, is what platform to the develop on. You have 3 choices:
- Develop on Android.
- Develop on iOS.
- Develop for both using a cross platform technology using PhoneGap or Titanium.
Each option above has it’s own pros and cons.
- Ramp up time is very fast for developers who know java.
- The Google PlayStore is easier to submit to.
- Android is an Open Source platform which makes apps integrate with it very smoothly.
- The user base of Android is larger.
- The approval process is mush faster and easier for both the initial approval. Even updates are usually available the same day in the Play Store.
- There are so many sizes for Android devices that development & testing can be slow and tedious.
- Because of the Open Source nature, many hackers have found ways to copy, resell or hack your app.
- Because it is easier to get on to the Google Play Store, there is not much guidance from the store. Developers are left to determine application questions on their own.
- All device screen sizes are known and limited, which makes development testing much faster and easier.
- People using Apple Devices are more inclined to pay for your app.
- It is much tougher to get your app approved on the Apple App store. Average is 2 weeks, although the last app we submitted in December 2013, only took a week and a half.
- Objective C has a steep learning curve.
So does this mean you have to write your app twice ? If you are writing a processor intensive app, like a physics based game, like the one we did here, you will want to use a native language.
- Cross platform. Write it once, run it everywhere.
- PhoneGap integrates with most sensors on the device, including the Camera, Accelerometer,Compass, Geolocation, Contacts, etc.
- PhoneGap is free and OpenSource. No licensing costs involved.
- Performance. PhoneGap adds an abstraction layer on top of your device, so you will suffer in performance compared with the native languages (Java and Objective C).
- Lack of pre-built UI widgets.
- Native app navigation is different between iOS and Android. You may need to design navigation for the iOS, but not for Android.
In the end, I recommend using PhoneGap or Titanium as long as the app your building does not require any graphic intensive operations. If you are forced to choose between Android and iOS, I would ask yourself the following questions:
- Is one of my main goals to charge money for the app? (iOS- 1 point)
- What skills do your developers have natively? (iOS or Android – 1 point)
- What devices does your target audience use ? If you don’t know, ask them via linkedIn, Facebook, email or your website. It’s a great talking point and good conversation starter. (1 point for either)
- Is there anything on the platform itself that will make your help your app? (1 point for either)
- Do you need to integrate with any other service that already supports either Android or iOS? (1 point for either)
Total all the points, then make your decision. If you have gone through all steps above, you will have made the right decision. Go forth and conquer!Share