Android vs. iOS : A Developer’s POV

Jon Evans is a novelist, journalist, and software engineer.  Jon also has a degree in electrical engineering and a decade of experience as a software developer, building everything from smartphone apps to billion-dollar asset-allocation services. His recent article “Android vs. iOS Development: Fight!” is an article on the ongoing battle between the Android and iOS from the developer’s point of view. He compares all the various components.

Environment

The Integrated Development Environment or IDE is an interactive program that is used to create software and apps for our everyday tablets and computers. It usually consists of a text editor, debugger, compiler and a GUI (Graphical Use Interface) builder (particularly good if you don’t have an extensive knowledge of the command language needed). The iOS IDE is  Xcode which Evans thinks is phenomenal. He is particularly enamored with its debugger. Android’s Eclipse is comparatively bad. Evans states that it is hard to load and is needlessly complex. So…… iOS 1, Android 0. Although, he notes that there is a cross-platform for both iOS and Android; Xamarin.

Configuration

Evans compares Xcode’s configuration to that of the Lovecraftian horrors of 1970s programming. Ok so he was joking, but still if it can be compared to programming from the 70’s? Sheesh. But, yeah, he finds the setting, links, targets, macros and header files appallingly erroneous.  In comparison, Android’s app configuration has a single manifest file and usually, according to Evans builds the app in its entirety every time the file is saved. Although, he does not that more clarity is needed in error messages. So…… iOS 1, Android 1.

UX Design

The user interface of iOS wins because the visual tools has three screen sizes (including iPad) and two screen densities, and also other attractive visual elements. So, yes, it is all about the visual. Although, as even points out, the competition is fierce. Android provides an Icon pack for developers to use, a trait that the iOS platform doesn’t possess. So…… iOS 1, Android 2.

Language

Evans confesses that Java is his niche. The traitor has grown very fond of Objective-C which is mostly an iOS phenomenon.  He finds it better and cleaner than java because it categories and blocks. He notes that an advantage that Java used to have over Objective-C is it’s stack traces which meant that tracking down bugs were easier but now with the Xcode’s Automatic Reference Counting (ARC), the gap has been evened out. The ARC reduces the time required in programming and exponentially makes it easier. So…… iOS 2, Android 2.

APIs

The APIs govern how the components of the software interact with each other.  Evans concludes that very roughly, an iOS ViewController is equivalent to an Android Activity. iOS has an extra set of frameworks and features of which there is no android equivalent. He also concludes that lines of codes for iOS is 32% smaller than of Android. A plus. Therefore…iOS 3, Android 2.

Internet

In these days when many-to-most apps are conduits to Internet APIs, Evans notes that this criteria is worth evaluating. When the internet runs in the background, multithreading comes into play. A Evans states, Android provides an AsyncTask which is easy to use while iOS provides equivalent but unsatisfying facilities. So Android wins, right? Alas, no. Apparently, as there are a host of open-source libraries that operate on a block level, Android doesn’t fly because Java does not utilize blocks. Objective-C does. So…… iOS 4 Android 2.

Sharing

In a shocking move, Evans concludes that neither wins. They both have equal advantage. I would agree. It is not really a bone of contention… iOS 4 Android 2.

Fragmentation

iOS wins again. Evan awards them that point because within the first five days of distributing the iOS7, there were 200 Million Downloads, a 64% Adoption Rate, 20 Million iTunes Radio Listeners (a new radio platform that people might just be predicting will one day be competition for Pandora).So yeah…iOS 5 Android 2. This is getting akwardddd. Oh, apparently, Google, Android’s for lack of better word, parent, has a strategy for becoming more popular. Disconnect the interesting updates from Android updates and upload them as Google Play updates. I use this service and it is awesome. I sincerely think it could one day have the same results as iOS does. This could happen especially because most Android apps are supported by Google Play.chart1

The plan just might make Android win this category in the next competition…. iOS 5 Android 2.5. .5 is my addition.

Publication

I am happy to not that Evans gives them the well deserved win here. Their app publication is seamless and easy unlike iOS. Yes!!! So… iOS 5 Android 2.5.

Sadly, Android loses. But we’ll rise up (Woopsis!) If you didn’t already glean that, I’m Android all the way.

Evans is obviously knowledgeable about what he is talking about. His audience based on what I have read is to developers. He is nice enough to provide links for us fluffheads and that really helped me in understanding what he was talking about.  As you will note, I spent an amazing amount of time explaining his article, because my audience is different from his. He is right on all counts and I can’t help but agree with him even though I am an Android fan. With the advent of the Google Play Services, I believe that Google will be tougher competition to beat in regards to their system. Check out this page. It’s just expanding on the defragging strategy of Google.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s