Android vs iOS from a Programmer’s Perspective

After developing for Android and iOS, I saw they both have their advantages and disadvantages.

Android Pros

  • Android can be developed in Eclipse using Java and the Android SDK
  • Eclipse is a very nice and well documented IDE with good intellisense
  • Android SDK is also very well documented and many online communities
  • Transition very nicely for people with a C++ background (like me)
  • No approval process for publishing apps

Android Cons

  • Not have a good “Design Mode” for Apps.
  • Android devices can be very different from one another, making it difficult to accommodate all devices in layouts

iOS Pros

  • Has a Interface Builder that lets the developer see the layouts without compiling the code
  • Devices are standard, meaning iPhones and iPads have known dimension making it easy to create a layout
  • Has a nice way to look up functions and methods while coding

iOS Cons

  • Objective-C syntax is a bit different from C/C++ and Java, and may take some time to get used to
  • Intellisense does not work like most IDEs, does not seem as “intelligent”
  • Although you can work with just XCode (the Mac IDE), the Interface Builder is a separate program that lets you graphically drag and drop your elements. It can be confusing working with both programs.
  • Provisioning devices and publishing apps is a very extensive process

I would have to say, it was a lot of fun working with both OS’s. From a programmer’s point of view, I think the Android system was the better of the two. It was very easy for me to get started, and the online instructions were great.