03 May 2009 17:45
TAGS: android dev iphone
Do you wonder what are the main differences between iPhone and Android?
I prepared a quick and highly subjective comparison.
First in what ares the two phones are comparable:
- they are phones
- they look and behave similarly (users can easily migrate from one to another)
OK, now what is different:
|GUI||eye-candy and polished to single detail||eye-candy but not perfect|
|applications you can install||only from AppStore (application from different repositories after jail-breaking)||any application from start|
|hardware||phone, music player||many small devices (including netbooks)|
|integration with Desktop||Mac/Windows||Mac/Windows/Linux|
|software developing platform||closed (need to enroll first), special IDE for Mac||open, runs also on Linux, includes Eclipse plug-in integrated with device Emulator|
|hacking||jail-break and install many open-source applications||get root access on your G1 with specially designed SD-card (gold-card), or install Android on other device (like FreeRunner)|
I just need to say, that developing application for Android is just easy as
- downloading and unpacking SDK (software development kit)
- running Android Debug/Development Bridge from the SDK:
$ cd SDK $ tools/adb start-server
- installing an Eclipse plug-in (via the Eclipse update dialog)
- creating virtual Android device (emulator)
# cd SDK # tools/android create avd -t 1 -n "androidemulator"
- running emulator
# cd SDK # tools/emulator -avd "androidemulator"
- and then, for every application you want to write:
- creating new Android project with Eclipse
- developing application in Java and Visual-Editors (mainly for GUI development)
- testing on emulator (by clicking on Run in Eclipse)
The .apk files (which are fully-enclosed applications) are created automatically. You can then sign them with your key and sell on Android Application Market. This requires you to register for $50. 1/3 of your income is taken by Google.
I really need to say, this impresses me much, because the SDK (including emulator) and Eclipse plug-in are so well integrated, that I didn't need any Android-specific knowledge to start working on Android application. I would really, really like to develop something for iPhone, just for comparison, but I would need to have Mac and then enroll to the developer platform. Also I would need to learn Objective C, a language that is hardly used outside of areas influenced by Apple.
So to cut long story short from the developer point of view it seems that Android is much much better. Also the fact that your application will run on more devices in the future without any modifications is really nice.