You are on page 1of 5

Shepherd University

Apple iOS vs Android

Bobby Plume
CIS 419
Professor Osman Guzide

Apple iOS vs Android


Bobby Plume
Department of Computer Sciences, Mathematics, and Engineering
Shepherd University
P.O. Box 3210
Shepherdstown, WV 25443
bplume01@rams.shepherd.edu

Abstract

2. Features

Mobile phones have become a very


important and abundant resource in current
everyday life. The two most popular devices
are those which run Apples iOS and those
which run Googles Android system.
Between the two systems there are many
differences
with
hardware,
app
development, infrastructure, and ease of use.

2.1 iOS
iOS is the operating system that Apple uses
for their mobile devices such as the iPhone,
iPod Touch, iPad, and Apple TV [3]. This
operating system is derived from the Mac
OS but also has some new features of its
own such as its accelerometer for tilting the
device to implement commands, and the
multi-touch interface which allows for more
than one finger to be used at once.

Keywords
iPhone, Android, iOS, hardware, app,
architecture

Apple devices are known by their consumers


for being stable, secure, and easy to navigate
[3]. iOS offers fewer bugs with its devices
because the standards are kept high with
apps and updates which are constantly being
developed. Apple is also known for their
cloud storage support and easily accessible
App Store.

1. Introduction
Recent years have brought on the debate of
which is better: iPhone or Android? This
question can be broken into several
categories based on which devices have the
better hardware, which devices are easier to
navigate, and which devices are better suited
to develop software/applications on. Both
devices have their own pros and cons which
make it difficult to say that one operating
system is superior to the other.

2.2 Android
Android is the mobile operating system
which was acquired by Google in 2005.
Android is composed of the operating
system, the language and scripts which
make it run, and all of the key applications
[3].
Android devices offer an Open Source
Platform which promotes development and
2

growth of new applications as well as


continuous and frequent updates of the
operating system itself [3]. A multitasking
feature allows for running many applications
at the same time. Android also features the
ability to tether connections and expand
memory capacity with the cloud and
external devices.

system by managing processes, security,


memory, and networking. The runtime
includes the virtual machine and libraries
which make the system run. The Android
libraries consist of the C and C++ languages
used by the system processes and the
developers [3]. The application framework
consists of the email client, the web
browser, calendars, SMS, etc. These
applications are written with Java. This
framework provides the environment that
the user controls and also includes the open
development client.

3. Architecture
3.1 iPhone
iPhone architecture is based on 7 layers:
hardware, firmware,
processor,
OS,
objective-c runtime, framework/API, and
application [3]. See Figure 1. The hardware
of an iPhone refers to the chips and circuitry
that make up the device along with the
physical processor. The firmware relates to
the chip codes and the processor refers to the
set of instructions that boot and run the
operating system. The operating system and
Objective-C runtimes provide the basis for
running the device as well as the main code
that gives the devices order. The application
simply is the environment that the user sees
when operating the device [3].

4. Application Development
4.1 iOS Hardware Requirements
Application development with iOS does not
require powerful specifications although it
does require a Mac computer. The iOS
devkit is almost fully equipped for
developing until it comes to the testing
aspect. For accurate testing an iPhone, iPod,
or iPad should be used since these devices
are equipped with accelerometers and
touchscreens [1]. See Table 1 for
comparisons.
4.2 Android Hardware Requirements
Android development is not restricted to any
operating system. Android can be developed
on the most recent versions of Windows,
Linux, and iOS [1]. Unlike iOS
development, Android developers can create
Android Virtual Devices (AVDs) which can
be configured to represent any mobile
device that runs Android. This flexibility
allows for much easier development and
testing. See Table 1 for comparisons.

Figure 1. iPhone Architecture [3]


3.2 Android

4.3 iOS DevKit

Android architecture is based on 4 layers:


kernel, runtime, libraries, and the application
framework [3]. The kernel of Android uses
Linux to provide a bridge between hardware
and software. The kernel supports the

iOS apps are written using an IDE called


Xcode which is similar to Eclipse and
NetBeans. Projects made using Xcode can
be created specifically for just the iPhone or
3

jailbreak their Apple devices in order to


use certain third-party applications.

just the iPad, as well as a universal project


that scales to the iPhone and allows iPad
users to select their resolution [1]. The iOS
devkit has been used for over 10 years but
has been updating rapidly to support the new
mobile devices that have been released.

In response to the jailbreaking Apple later


released a new devkit that allowed
developers to write native applications.
Along with this development Apple released
its App Store to distribute their library of
application. This opened up many more
opportunities for third-parties with the only
downside being that they had to agree to
Apples terms and conditions. Over the
years competition increased in the
application market. Apple found some of
their competitors were gaining a strategic
advantage from using Apples tools. This
forced Apple to ban the use of non-Apple
development tools which initially hurt the
business but eliminated the use of Apples
resources against them [4].

4.4 Android DevKit


Eclipse is the recommended IDE for
Android development. Eclipse can be used
to create projects, skeleton codes, and to
sign apps for release in the Android Market
[1]. Eclipse is such a good choice for
development because of its integrated
debugging environment, easy access to
Android device emulators, and quick access
to the devkit.
Table 1. Comparison of iOS and Android
development [1].
Minimum
Development
Operating
System
Requirements
IDE
GUI
Creation
Language

iOS
Mac OS X
10.6

Android
Windows
XP
Linux
Mac OS X
10.5.8
Eclipse 3.5
XML

Xcode
Xcode
Objective-C

Figure 2. Xcode Sample

Java
Scripting
LogoBlocks

http://vodkhang.files.wordpress.com/2010/11/xcode-code-generation.jpg

5.2 Android
Android relied on their development through
the free and open source OS built from
Linux. This became a popular form of
development because of the open source and
low cost of using Linux. After a few years
the found of Android Inc. who was also the
founder and CEO of Danger Inc. released
the T-Mobile Sidekick which was one of the
first phones to integrate web, IM, mail, and
other applications [4]. This phone did not
necessarily compete with its rivals, but it did

5. Development Infrastructure
5.1 iOS
Apple started off by having app developers
create apps that would be accessible only
through their Safari Browser. This approach
gave third-parties (Google, Newspapers,
YouTube, Facebook) the ability to offer
their services without having to make deals
with Apple [4]. The Safari approach was a
successful idea until users started to
4

spur interest from Google which later


acquired Android as its own.

Android feature popular applications and


encourage growth of third-party applications
through their services. Apple development
seems to thrive more so when the developers
have the access to capable devices whereas
Android development is much easier to
work with due to the Linux and open source
OS as well as device emulators. With the
speed in which technology is developing it
is easy to assume that the only limitation to
application development would be the
access to necessary hardware.

Android was licensed under an Apache 2.0


open source license which meant it was
available to anyone who wanted to use it
without licensing costs and without
collaboration with Google [4]. This allowed
for production of tablets and other devices
that use Android OS even if it is not
necessarily optimized for its form. However,
even though Android can be ported to many
devices, Google remains in control by
banning the use of the Google name unless it
is certified through Googles compatibility
program. This means that the Androids
application store can only be used by
Google certified products. The non-Google
devices could use other third-party
application stores such as Amazons
Android market. Nonetheless, Androids
partnership with Google set their products
high in the competition.

References
[1] Goadrich, Mark H., and Michael P.
Rogers.
"Smart
smartphone
development:
iOS
versus
Android." Proceedings of the 42nd ACM
technical symposium on Computer
science education. ACM, 2011.
[2] Liu, Yao, et al. "A comparative study of
android and iOS for accessing internet
streaming services." Passive and Active
Measurement.
Springer
Berlin
Heidelberg, 2013.
[3] Singla, Divya, and Luv Mendiratta.
"ANDROID VS IOS."
[4] Tilson, David, Carsten Sorensen, and
Kalle Lyytinen. "Change and control
paradoxes in mobile infrastructure
innovation: the Android and iOS mobile
operating
systems
cases." System
Science (HICSS), 2012 45th Hawaii
International Conference on. IEEE,
2012.

Figure 3. Personal Sample from Android


Studio
Conclusion
It can be determined that iOS and Android
both have their own strong points and flaws.
iOS development requires specific hardware
that may be more difficult and pricey to
obtain but the bar for development on
Android devices is lower and it can take
place on most devices [1]. Both iOS and
5

You might also like