iOS vs. the Android Operating System
November 6, 2014
The origins of the two most popular smartphone operating systems: iOS vs. Android. Let’s explore the differences between iOS vs. the Android operating system.
Continuing from our previous post “Mobile Apps: An Overview,” let’s take a closer look at iOS and Android operating systems.
The smartphone was popularized in 2007 with the original iPhone. (Was it really only seven years ago?) Remember Steve Jobs: “An iPod, a phone, and an internet communicator, an iPod, a phone…..are you getting it?” My friend Stephen was the first of my friends to get it and man, was it cool! And expensive! And only on AT&T! That was a bummer for all of us locked into contracts on other carriers.
However, Android soon followed when the T-Mobile G1 (HTC Dream) smartphone came to market in 2008. While its design wasn’t as slick as the iPhone, its open-source environment appealed to mobile phone manufacturers wanting to compete against Apple. One year later, the Motorola Droid released on Verizon. Several coworkers got this phone and loved it… and then hated it. But it signaled that iPhone wouldn’t go unchallenged for long, cementing Android’s marketshare and place in consumer awareness.
Smartphones have improved significantly in the last seven years, with the Android now on its eighth iteration and the iPhone 6 and 6 Plus in the hands of lucky early adopters.
iOS v. Android: Development
iOS runs on iPhone, iPod and iPad. Native apps written for iOS are written in Objective-C with some use of C or C++. iOS developers are also beginning to program in Swift – a new programming language Apple published in June. (For more on Swift, read this.) Developers use the iOS SDK (software development kit) issued by Apple to provide developers with tools necessary to create native apps.
Even though Apple owns only 42.4% of the U.S. smartphone market, many apps are developed for Apple first, largely due to a perceived creditability factor since Apple’s strict quality controls provide a level of legitimacy for many developers.
Android OS by Google is the mostly widely used smartphone and tablet operating system. (In fact, according to Strategy Analytics, Android had 85% of the worldwide handset market in Q2 2014.) Native Android app developers write primarily in Java (also with some use of C and C++) using the Android Development Kit. Android is used by many notable mobile device manufacturers, powering more than one billion devices. Programming for so many Android devices comes with different challenges than programming for fewer than 10 iOS devices – 36% of Android developers say testing and debugging is the most time consuming part of Android development due to having to configure for so much hardware and software.
Along with SDKs, developers use “integrated development environments” (or IDEs) which usually consist of a source code editor, build automation tools and a debugger. At stable|kernel, we develop in Android Studio and Xcode.
There is a lot of talk about the differences in the experiences the two operating systems have to offer. While they may have been vastly different years ago, the experiences have become more alike than different in recent years due to the increasing importance apps have for users and decreasing significance the operating system itself has. Their app stores offer easy-to-install apps, the phones use similar methods of navigation and touch screens control the operation of the devices.
Because the user experiences have become similar, both Apple and Android’s operating systems are becoming increasingly competitive in order to differentiate among users. By targeting developers first, each OS is trying to make developing for their platform more attractive – thereby increasing the value to the customer. For iOS developers, Apple is offering new APIs that will allow developers to do more within apps they develop for the platform. Android is focused on expanding the OS to other devices such as wearables, cars and connected devices.
Over the next few months, our developers will offer their perspectives on how to approach developing for various platforms and how they differ from each other. We will also talk further about how the platform we develop for depends on the business objective and who you are trying to reach. In the meantime, you can join the online debate over which is the preferred operating system.