The last few months I’ve been working almost exclusively on an Android app which has afforded me the opportunity to see some of the differences between developing for Android versus developing for iOS. I’m not going to provide a laundry list of differences here, only general impressions.
Developing for Android is largely a DIY or roll your own affair. Android development is done using the Android SDK and the Android Development Toolkit (ADT) plugin for Eclipse. Eclipse itself is a popular IDE platform and there are some great tools that have been built on it. Unfortunately, ADT is not one of them. It is adequate, but decidedly primitive compared to XCode for iOS development and that gold standard of development tools, Visual Studio for Windows.
To make matters worse, implementing and using various widgets in Android is a more difficult affair than the equivalents in iOS. In short, XCode builds out a lot more stuff for the developer than the Android tools. Again, I haven’t done a bullet by bullet comparison. These are just my general impressions having worked with both.
Outside of the tools, the other thing I found daunting about Android was the lack of a strong set of design guidelines. When I first started learning iOS development, I was immediately indoctrinated with Apple’s design guidelines in form of print and WWDC videos. When I started Android development, there didn’t seem to be an equivalent transmission of design DNA.
With the release of Android 4, aka Ice Cream Sandwich, Google is finally speaking with a strong Android design voice. The Android Design site provides very clear guidance for Android app design. And I’ve seen great improvement in the overall Android Developers site as well. Given the great heterogeneity of the Android ecosystem, speaking with a strong unified voice is essential.
As a developer, I’ll be much less reluctant to embarking upon new Android projects if I can easily learn the Android way of doing things straight from the source, rather than having learn it by trial and error. Now if they’d just improve the ADT and drag its antiquated GUI designer into the 21st Century, they just might get some happy googly eyes from me!