Having developed apps for iOS and also for Android, in this article we’ll look at some of the differences between the two, when it comes to developing apps for the App Store and Android Marketplace.
First of all, when developing for iOS, the programming language is in objective C. This is the reason why Apple products are so stable. Objective C uses frameworks that allow you freedom to use code constructively, but would make life more difficult for someone trying to make a virus for example.
It is possible to use a 3rd party intermediate SDK (software development kit) programming environment, which may use Lua as the main programming language for example. This is then converted to Objective C when the app is built. The advantage to this would be not having to learn Objective C, but bare in mind that after iOS operating systems upgrades there are sometimes bugs that can pop up more than if you programmed the app in Objective C. So if you use a 3rd party SDK, check your apps after every iOS upgrade.
Both iOS and Android are incorporating the ability to use other languages, such as Java and C# into their SDKs now, so if you prefer to program in a specific language it is a good idea to read up on the SDK programming information for which languages they can accommodate.
For any absolute beginners reading this post thinking about starting out in programming mobile apps for Andoid or iOS, I would personally recommend learning straight C first, as many languages such as Objective C, C#, C++ and Java are extensions of this base language. In fact, some programmers swear by using C only as it is the most portable language. This is of course just my personal opinion. You’ll find that most programmers support their chosen language as if it’s a football team. A Java programmer once told me that Java is the best language in the world. I personally don’t care which language I use as long as it enables me to get the project done.
On Android you have a greater choice of languages in which to use. With their SDK you can install the components to programme in your chosen language.
The iOS SDK is also free with the advantage of not having to download so many needed components. As I mentioned before, the iOS SDK is now also incorporating other languages into their SDKs which will convert to Objective C.
With both SDKs you can practise and even get apps ‘ready to go’ before you join their developer program.
As for the cost, the big advantage of the Android SDK is that it is only (at the time of writing this post) about 25 pounds or was it dollars?Â (can’t remember which) for lifetime membership. No other yearly costs. The iOS developer program costs about 99 dollars per year in comparison. It has to be said however that the devoloper support is very good. I have used the developer help service when I’ve had a problem and they got back to me straight away.
As for revenue generated from selling apps, this will depend on many factors. Even though the iOS developer program is more expensive it is easier to sell paid apps in the iOS market. About 40 percent are free apps, compared to 70 percent of apps being free on the Android market.
With Android you can put your app up straight away without any approval process. This is good for speed and convenience, but it does mean that the average quality of apps are lower than iOS apps. With iOS apps there is a week to 2 weeks wait before being approved and will be rejected if the app is not of a sufficient quality to pass.
As for the submission process: It is far, far easier to submit your app to Android. You build an apk file and download it to your phone to test, then upload an apk file to your developer account and you are away.
With iOS I initially found the submission process harder than actually programming apps. There are keychain, certificate requests and technicalities galore. However, once you’ve made a checklist of the procedures and put up few apps it becomes easier.
When it comes to linking your developer account with your bank account for payment, both have quite simple procedures for this. With iOS they can pay directly into your bank account. With Android you have to open a Google Marketplace account.
Both platforms make it easy to alter details of your app and edit details. With Android however, once you upload an app you cannot delete it, you can only disable it. With iOS you can specify dates with your pricing policy. In iOS you chose between set pricing tiers, whereas with Android you can modify the price to your heart’s content.
On a side note, I’ve just put an app up on the Amazon marketplace and it is the smoothest submission process I’ve seen so far. Submitting apps to Amazon uses the simplicity of the Android submission process, but with the 2 week quality check as Apple does. You have to pay to join the Amazon Developer Program. This was free for the first year at the time of writing this post, but the price is said to be set to 99 dollars per year. This could have changed at the time of reading this post.
So, which one is better to program for? Well, I’m certainly not part of the Apple versus Android crowd. I personally like both. They each have their advantages and disadvantages.
Bear in mind that the app market is flooded now. It is very hard to launch a hit app right now unless you have a team of developers working on a big app that is exceptional or get lucky. Therefore, my advice is to set the bar high for your goals but don’t try and predict sales results. It’s better to program apps for fun and then any financial reward is a bonus. The current trend for putting apps up for free with in-app purchases are making it hard to price apps now. I think this trend may turn on itself eventually, with people looking for apps where you pay for what you get, without any hidden costs.
I hope that this post helped you in some way. Please search the Internet for other opinions as this is just my subjective opinion. And of course there are many other platforms out there and also emerging new technologies to consider.