Another Look at Android vs. iPhone Development
If you have ever done mobile application development for Android and iPhone you might have compared the two platforms… and come to the following conclusions.
Ease of Programming
Java is reported to be the most intuitive programming language for mobile software development. The lack of memory management bugs and the garbage collector make an easier task out of Android application development. Some developers have commented that the app model is almost as natural as iPhone’s. The broad range of devices and form factors however causes hours of debugging OS or device-specific bugs.
When talking about iPhone app development Objective-C is regarded as an elegant language. It does require a higher learning curve for a new mobile application developer, which could be due to the fact that the developer must take care of the memory allocated by the program. The Interface Builder generated files being separate from the main application code is also reported to be obstructive.
Android’s significant developer community offers steady support. There are many resources on Android application development – blogs and documentation abound. Some mobile application developers complain that Google’s library documentation is not very thorough compared to Apple’s.
The iPhone app development community is also strong and supportive. The abundance of information in Apple’s tutorials, reference guides and texts is helpful to a new mobile application developer.
Joe Hewitt, the creator of the iPhone Facebook app, says: “Android tools are horrendous, OS is hideous, but the absence of big brother telling me what to do gives it a slight edge.” He also writes: “Once a day or so it hits me that I am writing Java, and I cry a little.” While we find the comment amusing, we wouldn’t call Android application development tools ‘horrendous’, however they leave some things to be desired. On the plus the Eclipse plugin has matured, there is a working debugger and a good emulator.
Many developers love the iPhone’s SDK and the XCode IDE. The debugging tools are reported as fantastic, the instruments and source code integration make the tools easy to use. Recently Apple made a significant step forward by: “.. relaxing all restrictions on the development tools used to create iOS apps, as long as the resulting apps do not download any code. This should give developers the flexibility they want, while preserving the security we need.”
A developer often chooses a platform with the market in mind. The Android market is hungry and growing, but on the downside Android users don’t like to pay for apps. On the good side – publishing your mobile app is a much easier process than the rigorous checks iPhone app developers encounter. The latter benefit from the popularity of the Apple’s app store, however the abundance of applications makes it pretty hard to be noticed.
We can’t easily identify a winner when comparing mobile application development for Android and iPhone. Android’s application development tools and platform have been called excellent and Apple’s only acceptable in comparison. Android’s Java as well as the Eclipse IDE seem to set the difference compared to Apple’s Objective-C and platform API’s, which have been regarded as cumbersome.
In many cases application development for iPhone might turn out more expensive when compared with Android. Apple’s tools excel in profiling and heap analysis, and are expected to continue improving as more mobile software development tools of the likes of iPhonical and ObjectiveEclipse emerge.
With Android devices overtaking the market and iPhone being a leader in design and elegance we leave time to tell which will win the heart of the global developer community.