It’s no secret that I love Android. As soon as it was announced, I fell in love with it and was sure it would be better than the iPhone. One of the reasons I love Android so much is the ease of developing on the platform. It’s why I switched from Blackberry, it’s why I keep buying Android powered devices, and it’s why I won’t switch to the iPhone.
Google and Apple could not be more different when it comes to development philosophies. I think that’s apparent by the way they each run the platform. Heck, Google (and the Open Handset Alliance) has open-sourced Android for any company to use; that’s why we see so many different flavors of Android on phones. But open source is just one of the many reasons Android development is better.
Develop on Any Platform for Free
This is the big reason development is better: anyone can do it (well, any programmer at least). See, you can download the Android SDK (Software Development Kit) and tools for Eclipse (a very popular IDE, or Integrated Development Environment) for any Operation System: Windows, Mac OS, or Linux. Everything is completely free, and with a little bit of elbow grease, you can get up an running in about an hour.
This is a stark contrast to the way Apple has set up their development environment. First of all, you need a Mac to develop on iOS. If you don’t have one, you’re going to have to buy one or build one, or you’re out of luck. Even if you do have a Mac, you can’t just download XCode (iOS’s SDK) and go. You need to sign up for Apple’s Developer Program to get XCode, which costs a lofty $99/year (I think you can just buy XCode for $99, but to develop for iOS, you need to be part of the program). So once you’ve shelled out at least $999 for a machine and $99 for the first year, you’re ready to download XCode and start developing on iOS. That’s quite an investment, especially if you just want to play around with the platform and maybe try to learn something new.
This is an opinion piece, so I don’t feel the least bit sorry when I say that Apple is doing it wrong, even if the numbers don’t really show it. Developers are what make the iPhone and iPad so popular, and Apple makes it very expensive for developers to get started. I’m fully confident that if an Android device was first to market or even launched around the same time as the first iPhone, there would be more Android apps than iOS apps. Now that Android is a popular platform, we’re seeing the difference in number of apps quickly even out.
We also see a lot more free apps on the Android Market (67% free compared to 37% free in the App Store). The much lower cost, I’m guessing, has a lot to do with that.
Distribute to Any Device
Another huge difference between the two platforms, as far as development goes is distribution of your app, especially for testing purposes. While this could probably be a standalone argument, I do want to mention that with Android you can install an app to your phone from any source, not just the Android Market. Conversely, with iOS you can only install from the App Store unless you jailbreak your phone (which Apple also made a lot of noise about). While this might not greatly affect most of the population, it had a big impact on developers.
With Android, testing your app on multiple devices is easy (really, really easy). Send your friend the APK, which he can open on right on his phone, and boom! Your app is up and running.
He’ll have to allow apps from “Unknown Sources,” which he should be prompted to do.
This means a wealth of things for the Android developer. Test on all builds of Android without any extra cost, do a soft-launch of the app without submitting it to the Android Market, or even distribute it yourself without getting the Android Market involved at all. That is not the case with the App Store.
With iOS, you can only develop and test using the emulator or registered devices. That means that you have to register each device individually in order to install your app on it, which seems like a big song and dance.
You can make it so that people can download your app off of a registered server, but that will cost you $299/year instead of $99/year.
Adding Your App to the Market Is Easier
My final point about development for both platforms is submitting the apps to their respective stores. Again, it’s a lot better on Android. You pay a one-time fee of $25 to become a developer, which you can do after development is complete, as we discussed previously. Once you register, prepare and submit your APK, and within 45 minutes it should be in the Android Market, ready to be downloaded.
With Apple, once you’ve finished developing and testing, you can submit your app to the App Store straight away (remember, you’ve already paid the fee of $99/year to get the SDK). That’s when the real fun starts. While I’ve never done this myself, I’ve spoken to several iOS developers about the time from submission to launch on the App Store, and it can take anywhere from three days to two weeks. Whatever the people at Apple do to evaluate the submissions (no one really knows except them) takes some time.
If you don’t pass their tests, it’s back to the drawing board, where you’ll have to go through the entire submission process over again. That isn’t exactly developer friendly, nor do they have time-critical app submissions in mind.
It’s also worth noting that a few years ago, Apple caught a lot of flack for seemingly giving no reason to ban/block apps from the App Store. Admittedly, this has more or less stopped as of late.
It would be unfair to say that everything about the development process for iOS is bad. I’ve heard the actual development isn’t too bad if you know what you’re doing and some functions, particularly in-app purchasing, is much easier for iOS. But overall, Google has created a much more developer-friendly process than Apple has. The barrier of entry is much lower, there is not nearly as much risk in investing time to learn and develop, and the time from submission to market launch is considerably less.