Android and iPhone, I’ve been hearing a lot about these two platforms lately.. makes you really wonder what’s all the hype about..? Mobile platforms represent new opportunities for developers especially the indie guys who are looking for a widely available platform to make games for, well in this case two current platforms really step up to the challenge: the mighty iPhone and Google’s Android.
So I wanted to seize the opportunity, and as an experiment I want to make a game for a mobile device, and a question came to my mind and it was: what should it be.. iPhone or Android? I made a bit of research regarding what platform to choose before targeting one and so these are the results of my research:
Apple’s iPhone is such a great device to use, it brings the joy to your hand with nice look and interface. I began looking at Developers site of Apple’s to checkout the documentation and every resource available to develop for the iPhone, and I really liked what I saw, a huge amount of information available on the site and videos, tutorials..just everything you’ll ever need. When I went to look for the cost I got a bit shocked since you know it’s Apple and they love money, being registered as a developer costs 99$ annually and the introductory course for the development costs 99$ too! And so for an indie developer spending around 200$ bucks just to experiment with the a top notch mobile platform is not one of my current priorities.
Other than the cost, Apple’s information is covered with a Non-Disclosure-Agreement which prevents you from discussing any code or any kind of information regarding the development of the iPhone in front of the public, which makes it really ugly for new comers to ask questions and get feedback. The quality assurance guys really test your whole application for anything bad which insures the quality of the application once you ship your game, but as I far as hear it really take these guys a long time to go through your application before you can ship your game which might frustrates you. I forget to mention that iPhone development requires you to know C++ and Objective C in order to manage your way in, I took a look on some code of the Objective C, and I must say it’s really ugly but some guys say you’ll rarely encounter Objective C code. By the way you must use XCode development IDE and a Mac machine to make software for the iPhone!
But from a Business kind of view, Apple’s Store aka iTunes is really a decent place to make money of, considering the huge user base and richness of information in the store. And the iTunes is the only point that drags me to make a game for the iPhone.
On the other hand Google’s Android is whole new different story! The documentation is so rich and since it’s coming from Google you really can count on them when it comes to code and documentation, and community is just amazing! Lot’s of code, lot’s of articles and every piece of invention ever created by the open source community, and that’s the reason Android guys really learn fast from. Getting the SDK and all the tools you need is completely free but registering as a developer on the market so you can publish your application costs around 25$ for the time being, which is really cheap for a one time fee.
The Android market still has some issues, it doesn’t support a lot of countries and so the user base is kind of small compared to the iTunes, there are a lot of applications with low quality on the market since there is no quality insurance on any kind of application you make, Fortunately the market is getting better and better every single day. Android’s programming requires you to know Java, although you can write some components in native C++ and use them from your Java code, Java remains the native language for Android’s development. There are many IDEs supported for the development but the recommended one is Eclipse, and a programmer who uses Visual Studio on a daily basis, Eclipse feels really weird and hard to get your grips on.
..Let me bring a bit of honesty here, I hate apple and I love open source software so my choice was obvious, I went with Android! And so far so good.