Assess the popularity of two operating systems by analyzing which of them has more people using it and finally coming up with a conclusion on which is more preferred by developers to have knowledge in for app development purposes.

EXECUTIVE SUMMARY

Many applications exist in the world today. Almost every company is coming up with their ideal
app to help them deliver service to their customers. Most of these apps are developed for use by
majorly two operating systems, which include Apple’s iOS and Google’s Android. These are the
two operating systems that are used in Android devices and iPhones, which are the two most
popular gadgets when it comes to mobile technology (Pierce1-10).
We look into the popularity of the two operating systems by analyzing which of them has more
people using it and finally coming up with a conclusion on which is more preferred by
developers to have knowledge in for app development purposes. We also have a look at the
languages that are used in the development of apps for each of the operating systems.
CHAPTER ONE
Background of the research
We have experienced a gradual shift of technology especially in the mobile technology where we
have seen tremendous innovations leading to the discovery of the smartphones that are in use
today as compared to the feature phones that dominated the mobile market decades ago. These
are good advances in technology as there is more that can be done using the smartphones as
compared to the feature phones.

With the tremendous changes in technology that is being made and the making of transactions
even easier through apps, it is essential that we look at the pros and cons of each of the apps
targeted at each of these operating systems and how best they safeguard the interests of the
clients as far as accessibility, usability, affordability, security and storage for their data is
concerned. To have an understanding of the apps that best fit these operating systems, we look
into these various aspects that most smartphones’ customers would look at before making their
purchases.
Problem Statement
The challenge that most beginner developers sometimes face is to determine which apps to
develop for them to get ready jobs. Sometimes it is even hard for one to determine the best,
among the available languages, to learn in order to become an excellent app developer. For this
reason, we seek to conduct research to determine the various aspects of each language used in
app development (Pierce1-10). Moreover, to present the features that make the language
preferred by developers or the respective leader companies compared to other existing
programming languages that can achieve the same result.
Research Questions
 What is app development?
 What kind of languages can be used for app development?
 What are the features of different languages used for app development?
 Which language is fit for beginners, and
 Which app is more popular IOS and Android?
Research Objectives

To find what programming languages are available for app development
To find the most popular apps between those meant for iOS and for Android
To determine which is the best development language to learn as a beginner

INTRODUCTION
LITERATURE REVIEW
App development
Mobile application development is the act of building applications for use by mobile phones,
enterprise digital assistants or even personal digital assistants. It is possible to have the
applications installed on manufacturer platforms or have them delivered to the clients through
server-side processing as web applications. In the development of the applications, the
developers consider several different screen sizes of digital devices. Hardware and
configurations of the devices is also a crucial consideration (Zurich23-29). This is because there
is stiff competition within the industry and having an application that can easily be installed and
run on different devices is an added plus for the developer or the company using the app. There
is a great increase in the demand for applications by companies. Most of them have had apps
developed for them which they use to complete their day to day activities. In fact, some of the
companies have reduced the contact between them and the clients, and are having all activities
channeled through apps and have their clients satisfied.
There is a difference in the development of apps as compared to the development of other
software applications. One has to learn interface design. Mobile interface design is crucial so that

the developer is able to know the contexts to use; the input, screen size and be able to build
mobility into the application. Because the users are in possession of devices that have different
screen sizes and hardware configurations, it is, therefore, the duty of the developer to build an
app that will adapt to these different devices. There are several mobile development platforms
commonly known as IDEs (Integrated Development Environments) which the developers can
use to make the apps portable and adaptable to the devices (Zurich23-29). The IDEs also have
several emulators for use in testing how the app will look and function in a similar gadget in the
real market.

Programming Languages to use

A number of programming languages are ideal for mobile app programmings are available.
Among them, there are those that are considered easy to learn and use while others are regarded
as complex for beginners to learn within a short time and start developing apps using them (Jing-
ying10010-10016).These programming languages include;

HTML5

It is an ideal programming language that is best for someone who seeks to develop a web-fronted
application for use with mobile devices. It makes a number of aspects easy to do. These include
insertion of data types, the creation of accounts for different screen sizes, capable of determining
the level of the browser to use and rationalizes input parameters. It is, however, worth noting that
there is a mishap with the language as it is still rather considered standard. Since it is a build-up
of HTML, it is easy to learn and use for someone who has had hands-on use on HTML. It is
supported by several browsers.

Objective C

This is the primary programming language that was chosen by Apple for the development of iOS
apps. It is a superset of the C language. The language has a number of functions some of which
deal with input and output, graphics and display functions. For this regard, it is fully integrated
into all iOS and MacOS as part of Apple’s development framework. However, Swift is now
slowly replacing it as Apple’s preferable language (Florian Meuller17-23)

Swift

This is the latest language that is being used by Apple in its development of apps. It is preferred
for the development of Apple’s latest APIs, Cocoa Touch, and Cocoa. It was written for use
together with Objective C but now it is slowly being considered the favorite for use and more
iOS developers are being encouraged to use it for complete programming. Swift was developed
to curb the several security vulnerabilities that exist in Objective C (Florian Meuller17-23). Since
it has successfully overcome these vulnerabilities, it is now considered as the best language to
use in place of Objective C and developers with expertise in it are now being considered more
for employment at Apple so that they can develop cutting-edge mobile apps with Swift.

C++

This is the best programming language for use in the development of apps for Windows and
Android. In fact, for any low-level programming, C++ is the best language to use to accomplish
the task. The language is characteristic to its go-to as a mobile development platform. It is the

best to use to learn the basics of mobile app development. It is a very powerful programming
language that allows for the development of mobile apps for any purpose on practically every
platform that exists (Zurich23-29). Additionally, it dominated the programming ecosystem way
before the revolution of the smartphone.

C#

This is the language that Microsoft use for the development of mobile apps just like Objective C
is preferred by Apple. The apps are the ones accessible to windows phone. It enables the
development of the robust windows phone apps even though it has not been very much of a
game changer. It is the most preferred mobile application development language for most loyal
Microsoft developers.

Java

This is one of the most preferred languages for Android app development. It is an object-oriented
language that was originally developed by Sun Microsystems but now under the ownership of
Oracle Corporation. It is a language that can be run on a browser or even on a virtual machine in
which case running on the virtual machine does not require a browser (Jing-ying10010-10016).
Java may not be the choice of a developer for iOS apps but when they wish to have a cross-
platform application, Java is a language that cannot go unnoticed and it also has a specific code
reuse feature that interests most developers as you don’t need to rewrite code again from scratch.

Features of different languages
C#

o C# is a simple, modern, object-oriented language derived from C++ and Java.

o Combine high productivity of Visual Basic and raw power of C++.

o Is part of Microsoft Visual Studio 7.0.

o Visual Studio supports VB, VC++, C++, VBScript, JScript. All providing access to
Microsoft .NET platform.

o .NET includes a Common Execution engine and a rich class library.

o Microsofts JVM eqiv is Common language run time (CLR).

o CLR accommodates more than one language like C#, VB.NET, JScript, ASP.NET, C ++.

o Intermediate Language code (IL) i.e. (JIT Compiler) Native code.

o Possible to develop Console application, Windows application, and Web application
using C#.

o In C#, C++ problems, such as Memory management, pointers etc are taken care of.

o It supports garbage collection, automatic memory management etc.

Java

Robust

Java is robust because:

 It uses strong memory management.

 There is lack of pointers that avoids a security problem.
 There is automatic garbage collection in java.
 There are exception handling, and type checking mechanism in java

Architecture-neutral

There are no implementation dependent features for example size of primitive types is fixed.

In C programming, int data type occupies 2 bytes of memory for 32-bit architecture and 4 bytes
of memory for 64-bit architecture while in Java, it occupies 4 bytes of memory for both 32 and
64-bit architectures.

Portable

Java is portable because it allows one to carry the Java bytecode to any platform.

High-performance

Java is faster than traditional interpretation since bytecode is “close” to native code still
somewhat slower than a compiled language like C++).

Distributed

Java is distributed because it facilitates creation distributed applications in Java. RMI and EJB
are used for creating distributed applications. Files can be accessed by calling the methods from
any machine on the internet (Jing-ying10010-10016).

Multi-threaded

A thread is a separate program, executing concurrently. Java programs that deal with many tasks
at once can be written by defining multiple threads. The main advantage of multi-threading is
that there is no separate occupation of memory for each thread. It shares a common memory
area. Threads are important for multi-media and Web applications among others (Jing-
ying10010-10016).

Objective C

Classes are objects

There No need for a specific constructor mechanism at the language level. This helps to keep the
language simple and powerful. Meta-classes are objects too in Objective C.

Dynamic typing

Dynamic typing in Objective-C is simple to use. For example, one can declare a variable holding
reference to an object

Optional static typing

Objective-C supports for static typing.

Automatic garbage collection

The automatic garbage collector runs in its own thread, concurrently with the application code. It
uses a generational model to improve efficiency by targeting priority memory zones that are
more likely to be garbage. It works for objects and raw C memory blocks allocated with the

NSAllocateCollactable() and similar functions. A malloc() works thus providing control over
memory not managed by the collector.

C++ fluent

Objective-C as a superset of C can also understand and call C++ code. When used this way, it is
named Objective-C++ and allows mixing Objective-C and C++ code in the same code statements
as well as direct use of C++ libraries.

Simplicity

Features that tend to render languages complex like templates, overloading, multiple
inheritances, etc. are absent from Objective-C, which give simpler programming models taking
advantage of its dynamic nature.

Language fit for beginners
For a beginner that seeks to learn mobile app development, there is no specific language
recommendation that they can use. All the development languages available come with dummy
versions which are aimed at acquainting the beginners with the basic lessons that they require
before they can embark on real development. The dummy book lessons offer good knowledge on
what they are expected to learn and give plenty of exercises for the learners to practice on
(Florian Meuller17-23). They also give almost complete code fragments for the beginners to
copy and paste on their IDEs and debug the code. They then start making the code a bit complex
as one advance to the following classes and eventually explain the reason for having each code.
The last lesson they offer in such a class is to help the learner be able to fragment the junk of
code and have smaller portions with the reusable code being declared publicly and accessible by

all methods in the program. Therefore, the choice of the language for the beginner to use is
solely dependent on how much content they find available for the language.

Popular app between iOS and Android

Currently, if you are considering purchasing a smartphone, there are two operating systems that
dominate the market; these are Google’s Android or Apple’s iOS. These are the two platforms
accounting for 99 percent of all new smartphones available in the market and their popularity is
ever on an increasing pattern. Microsoft has also joined the race by providing windows phone
and is still a viable consideration for the users who are loyal windows users.

Smartphone operating systems are excellent systems that have far more common aspects than the
different specs that divide them. When it comes to choosing the best between the operating
systems, it is an individual choice. But there are properties of these operating systems that
greatly build a rift between them and are used as the basis of making a choice on which one to
consider over the other depending on one preference.

Affordability

Regarding pricing, Apple has always surprised the market with even phones that have a starting
price of $1,000 like the iPhone X. Unless you venture into the second-hand market, the cheapest
that Apple has got with their cheapest iPhone is $350. These are pretty high prices for a budget
conscious individual as compared to Google’s Android phones some of which cost as little as
$150 or less. There are also plenty of free android apps to add to the reason why to prefer
Android as compared to iOS. As far as affordability is concerned, Android is the best choice.

Apps

There are over 3.5million android apps as compared to about 2.2 million apps developed for iOS.
However, the fact that there is a difference in the numbers does not mean android dominates the
market when it comes to apps. In fact, most developers for the apps target iOS first before
coming to android like in the United States and this makes iOS more preferable to android.
Elsewhere, there are increasing numbers of developers targeting Android. Play store still has the
highest number of free apps compared to the app store (Jing-ying10010-10016). However, the
best mobile games hit the app store first before making it to the Android platform and thus
making iOS superior in this fight by mere fact that quality is better than quantity.

App Store

It is hard to have millions of apps organized in the play store or app store. However, Apple has
made an effort with the redesigned app store in iOS 11 that has curated recommendations to
enable a better browsing experience in the iPhone. Play store is easy to use and search, one can
queue several apps for installation from a web browser on their computer.

Using TouchID on iPhones, one can purchase apps using a fingerprint. This is can also be done
in Android use of fingerprint sensors. There are a number of unwanted apps in both stores but
apple have more strict policies as compared to Google (Florian Meuller17-23). In this regard,
curated content and usability win it for iOS in the app category. However, the strict policies
reduce the popularity when it comes to gaming emulators for classic consoles

Battery life and charging

Most smartphones have battery life issues. Most of them have their batteries drained in few hours
thus requiring regular charging. For one considering owning one, battery life then becomes a big
consideration for there is no reason to have a phone that requires charging after just a few hours
of use. Both Android and iOS help the user see the usages of their phone’s battery by the
different apps they have installed but android shows an estimate of how much battery life is left
in addition (Swaroop53-60) Both offer power saving modes that can help extend the battery life
with a more general customization android that in iOS. For a long time, Android has been
providing fast charging and wireless charging capabilities. Now iPhones have that capability too
especially iPhone X and iPhone 8. The only difference is that one has to buy the adapter for fast
charging separately which Android gives as an accessory in the purchase box. Android phones
tend to have longer battery life as compared to iPhone and this is a plus for the Android category.

Updates

According to a Mixpanel research on updates, Apple offers consistent and timely software
updates as well as security patches. The same can be achieved on android with google’s pixel
phone. The domination of iOS version is as follows:

 iOS 11: 87.33 percent
 iOS 10: 8.9 percent
 Older: 3.77 percent

Surname14
As seen, about 90 percent of iOS devices use the latest version of the operating system. on the
other hand, only a small percentage is running the latest Android 8.1 Oreo according to the
Android Developer Website

 Android 8.1 Oreo: 0.5 percent
 Android 8.0 Oreo: 4.1 percent
 Android 7.1 Nougat: 7.8 percent
 Android 7.0 Nougat: 23 percent
 Android 6.0 Marshmallow: 26 percent
 Android 5.1 Lollipop: 18 percent
 Android 5.0 Lollipop: 4.9 percent
 Android 4.4 KitKat: 10.5 percent
 Older: 5.2 percent

Logically what this means is that iOS is the best to go for when you need the latest features and
security updates as well as bug fixes.

Customizability

One of the main strengths of Android is customizability. It is easy to add widgets to your screen
as well as remove them. It is also possible to customize android’s home screen with whatever
theme you wish to have, have shortcuts or even have an entirely different user interface with the
use of launchers. In iOS, you can set backgrounds and there is a limited widget support
(Swaroop53-60) Android allows for the set of third-party apps for use as default options something that Apple has not yet supported. For this reasons, it is, therefore, to achieve a fully
customized phone in android as opposed to iOS.

Accessibility

Perception of Android being complicated than iOS exists. However, one does not have to venture
into customization options if they don’t wish to. Both Android and iOS have a range of
accessibility options or features that are pretty easy to learn and use. Depending on the age of the
buyer, there is a range of modes like easy mode offered by Samsung that make the interface
bigger and simpler. So if you’re buying a device for an elderly relative, or a technophobe then
Android comes in plenty, but they tend to scale down what’s possible? (Swaroop53-60), iOS is
simpler and easier to use in some important ways. It’s similar across all iOS devices, whereas
Android is slightly different on devices from different manufacturers. iOS is less cluttered and
more streamlined than Android phones, although Google’s stock Android is elegant and
accessible.

Calls and messaging

Basic calling and messaging functionality are good on both platforms. Google seems to be
folding everything into Hangouts. Messages, group chat, video chat, SMS, and more are allowed
via Wi-Fi or data bundle (Florian Meuller17-23). FaceTime and iMessage come pre-installed on
every iPhone and iPad, so it’s remarkably easy to connect with your friends and family, while
iMessage is easy to use but it works best when communicating with other iPhone users. There
are third-party app integration, fun stickers, GIFs, and many more in iMessage.

Email

Default email apps on both Android and iOS are easy to use as well as quick to set up. One can
add multiple email accounts and view them all in a single inbox. There are also several third-
party apps that are available for both Android and iOS for use as email apps (Florian Meuller17-
23). However, Gmail has a stronger mail app than iOS. Coupled with the fact that Gmail is the
most popular email address; it is therefore without a doubt a big preference when it comes to
mail. It is also possible to easily set up various email addresses from different providers to
Gmail.

Maps

Apple maps did not have a good start but with the new improvements, they have made it better.
One can now download maps for use later when one is offline. They offer accurate navigation
directions from place to place. However, Google’s version of maps is the best. They have more
points and generally more detailed than their competitor’s apple. Although you have Google
maps on iOS it has a better experience on android since it is the default navigation app

Photo backup and Cloud services

Google offers more backup storage which is 15GB for the Google drive as compared to 5GB
being offered on the I Cloud. For this reason, many people prefer to use Google since it has more
storage space as compared to Apple’s 5 GB. There is plenty that can be stored, such as photos
and videos.

Security

There is a lot that has been made of the supposedly toxic hell stew that is Android, but these
threats of malware are exaggerated. Most people will never encounter any problem because they
never go outside the Play Store for apps. Specific manufacturers such as Samsung have gone an
extra mile and made efforts to tighten up security for the enterprise market. But it is generally
normal that most of the important security patches may be delayed on android rather than in iOS.

Security patches are the priority of any critical systems especially now that there are numerous
cases of security breaches all over the world. Users will be much comfortable to purchase what
assures them that their data is secure from intruders (Florian Meuller17-23). Apple has a
tendency of having most of its gadgets using their latest iOS version that is updated with the
recent firmware and security updates as opposed to Google Android which has most of its
gadgets running on old versions of the operating system and less on the latest version.

Research Findings

From the above research, the following were found to be true:

i) There are more Android apps compared to iOS apps. However, it is not forthright to say that
the highest number of apps makes Android the most preferred app market. This is only attributed
to the fact that in Android there are more free apps as compared to the iOS app store in which
some apps are not free.

ii) Some of the best apps first hit the app store before they make it to the play store. For this
reason, most developers, especially in the United States, develop their applications for the app
store before embarking on development for the play store

iii) Apps meant for mail such as Google’s Gmail are best when running on android which is the
operating system it is meant for rather than when installed on iOS although it will work. On
Android it allows for the addition of more email addresses to the same account and viewing of
mail from all these addresses may be viewed under the same inbox

iv) There are several programming languages that are available for development of apps for both
Android and iOS. However, iOS prefers Objective C but is now slowly shifting to Swift while
Google is much dependent on Java and windows id dependent on C# for development of cutting-
edge apps used by their windows phone.

Conclusion

Developers can find the market for their apps developed for either Android or iOS. This is
because there are several people who prefer each of these operating systems thus forming a
market for the apps. There are certain specs of each of these operating systems that interest
buyers to consider one of the operating systems over the other. Therefore, it is wise for a
developer to build his/her application targeted for one operating system and give room for the
development of the same app to serve in the other operating system.

Most app developers recommend that beginner developers start with knowing how to develop
apps for one of the operating systems, advance to the other operating system and eventually learn
how to develop cross-platform apps that can be used by the two operating systems without
necessarily having to develop to separate apps to serve the same purposes in the two.

The popularity of either iOS or Android is greatly dependent on an individual’s taste. This is
because there are features that Google’s Android is best in such as more storage capacity of 15

GB compared to Apple’s 5 GB, longer battery life, better navigation maps and email app. For a
person that seeks to have the best experience in these aspects, android will be a preferred choice.
On the other hand, for someone that is looking for the most secure mobile platform with constant
security updates that bridge vulnerabilities of previous versions, excellent camera quality and
quality for their money, Apple will be a preferred choice. On a personal view, Google’s Android
will do the trick for me since it is budget friendly and most customizable operating system which
will enable me to build my preferred user interface through the use of launchers.

Posted in Uncategorized