iOS developers who create successful products for Apple's mobile platforms are often faced with feedback from potential users asking "When are you going to move XYZ over to the Android platform?" Developer Nick Farina is the co-founder of Meridian Apps, a company that develops a platform for creating location-based apps. Yesterday Farina published a long, detailed treatise on the differences between iOS and Android development, both good and bad.
Some of his findings?
- Apple has made it easy to start writing iOS Apps -- you download the free Xcode installer from the Mac App Store and go. For Android, you need to download the SDK, set up Eclipse (a Java IDE), and then install the Google ADT plugin.
- Eclipse is slow and bloated, but once you become familiar with it, "it'll basically write your code for you."
- The Objective C code for iOS and the Java code for Android ended up "looking strikingly similar."
- The Android Emulator is horribly slow. He suggests buying several Android devices for debugging instead, since it's actually quicker to deploy and test the app on a device, and you'll want to test against fragmentation caused by different devices and OS versions.
- It's very easy to make Android UI layouts that automatically resize for different device screen sizes and orientations.
- Animation on iOS devices, dependent on OpenGL, is "hopelessly fast." Android didn't place a requirement for a Graphics Processing Unit (GPU) on device manufacturers, so animation is limited by the software-based compositing system.
Farina notes that Android is actually the third platform they've created Meridian for. The first was Windows Mobile, with iOS being the second. All in all, Farina takes a pragmatic point of view about developing for different platforms -- "There will always be new platforms and new paradigms to learn. The best we can do is to understand where each one came from, and to embrace the positives and overcome the negatives as quickly as possible so we can ship some awesome features before everything changes again."