Comparing iOS and Android – The architecture and development environment of the two most popular operating systems

During the design phase of mobile application development, it is crucial to decide what platform to target (Filho, 2015). Overtime, various studies have shown that iOS and Android are the most popular operating systems for app development and mobile use in general. This is shown by the results of a study conducted regarding mobile app development process in which 68% of developers choose to target these two platforms as opposed to the numerous others available (Flora, 2014). The popularity of these operating systems has increased significantly over the years as shown in Figure 1.

(Figure 1. Graph courtesy of Statista – Significant decrease in the use of operating systems other than Android and iOS from 2009 to 2015.)

This popularity has resulted in a decade long war amongst the two platforms, reflecting the age old desktop rivalry between Apple and Microsoft (Price, 2017).

Samsung, which is the main Android manufacturer, managed to sell 308.5 million units in 2016, compared to the 215.5 million iPhones (Gsmarena, 2017). However, Apple got ahead of the game by having almost 80% of the worldwide profit as a result of the selling prices and the fact that the Samsung Galaxy Note 7 was recalled (Gsmarena, 2017).

(Figure 2. Graph courtesy of Statista – The increase of the price gap between iOS and Android devices.)

Business Insider highlighted the fact that even though Samsung had released ten times as many mobile devices as Apple in 2016, Apple still generated double the revenue as shown in Figure 3.

(Figure 3. Graph courtesy of Statista – Apple’s revenue is double that of Samsung.)

Despite this, app developers have always gravitated towards Android to develop their apps for reasons such as the open development platform, ensuring that rich and innovative apps can be made (Sheikh et al, 2013).

But when comparing the two platforms, aspects more than just app development must be considered, such as the architecture of each operating system and the more external factors that contribute to the use of the platform, which will help gain an insight as to why users and app developers choose them.

iOS vs Android – The architecture  

Android

Android, founded in 2005 (Sheikh et al, 2013), is developed by the Google led Open Handset Alliance (OHA), which was distributed by Google in 2007 (Okediran et al, 2014). By 2013, Android had surpassed all the sales for iOS and all of the other operating systems combined (Mahapatra, 2013) and the Android Play Store was home to over 1 million apps (Okediran et al, 2014).

Studies into the Android systems have shown that it uses a ‘Linux kernel with higher-level APIs written in C and applications are normally programmed in Java and run with the Dalvik virtual machine’ (Okediran, 2014). This may seem complicated to understand, however these are just elements required to link the devices software and hardware and allows all of the applications and processes to work smoothly and efficiently (Garrison, 2010).

Linux Kernal is relied upon to provide the core system services such as memory management, multitasking, driver mode and security for example (Sen et al, 2015). Core Libraries provide the libraries that are necessary for the functionalities of the native language, Java. (Sen et al, 2015). The application framework is a key area as developers can use these components when developing apps. This specific area for Android in particular is what is inviting to developers because it can be used more openly than the framework in Apple devices (Sheikh et al, 2015).

(Figure 4. Image courtesy of Manifest Security – The architecture of Android mobile operating system.)

iOS

An in-depth study conducted by A. J. Singh and Akshay Bhardwaj laid out the architecture of iOS which consists of 7 layers. The first is the hardware which is the physical chip that is soldered onto the circuitry. The second layer is the firmware which refers to the code contained in the peripheral regarding the specific chip. After that comes the processor which contains the advanced RISC machine instructions and the ‘interrupt descriptor table’ which is set up during the initialization of the device. The forth layer is the Apple OS which entails the drivers, kernel and services which make up iOS.

The fifth layer consists of the Objective-C runtimes which is comprised of two different libraries. Tech Target identified that Java is in fact designed to mimic the C++ language which is also used in iOS devices. However, it is a much simpler version which may contribute to the reasons that app developers choose Android over iOS.

The penultimate layer is the API and the frameworks ‘Apple-distributed headers’ with Apple’s software development kit. The final layer is the application layer which addresses the development of apps and their purchase through the app store (Singh et al, 2014).

However, what these findings did not include was the implementation of the Cocoa Touch layer which supports the key framework required for iOS devices such as push notifications and touch-based input as illustrated by the analysis of K. Divya and S. V. Krishna-Kumar (Divya et al, 2016). Also, considering the fact that this analysis is more recent than the study by Singh and Bhardwaj suggests the relatively recent found importance of this layer to the application layer specifically as it is now considered to be intertwined as shown in Figure 2.

(Figure 5. Image courtesy of Knowledge Stack – The inclusion of the Cocoa Touch Layer.)

iOS vs Android – The development environment

Because Android provides the Dalvik Virtual Machine, ensuring that Android is a Java platform, free services are offered in order to encourage developers to use the Java platform. But this is not the case with Apple as Objective-C is a much more tedious platform to develop with, as mentioned before (Sheikh et al, 2013). Also, the various libraries required to develop applications for Android are readily available thus, the platform seems a lot more inviting.

That being said, an issue that Java has regarding performance is that it has been found to be significantly slower than the C++ language. Karun Subramanian lists a few reasons why this might occur but as time has passed, the speed gap between Java and C++ has decreased significantly with the implementation of the Just-In-Time Compiler (Chekanov, 2016).

The price of app publication may be an issue for some developers. If this is the case, Android would be favoured as it only costs $25 to register which is significantly less than the $99 that Apple asks for. If Android is chosen, this $25 means that the application can be marketed on any platform that the developer desires as Android does not restrict publication to only the Play Store (Sheikh et al, 2013).

As mentioned above, iOS does not have an open platform, and no application can be sold without Apple’s permission (Sheikh et al, 2013). It is a proprietary system that does not allow third-party apps to process, which is why developers gravitate Android (Prince, 2013). Although this may seem disadvantageous to Apple, Android’s open platform can result in loopholes in the security system, leaving the apps much more vulnerable to piracy and hacking (Rashid, 2017).

Brian Prince found that “About 14.58% of the Android applications may leak your Device ID and 5.73% of the total number of apps may leak your e-mail” which is not the case with iOS as it focuses more on the safeguarding of private data (Prince, 2013). The user’s permission is required when an app or service wants to gain access to any information on an Apple device, and an encrypted pass code is used to protect the device. If this passcode is entered incorrectly too many times, the device can be configured to erase all of the data it contains (Sen et al, 2015).

Since IOS has built-in security measures, this ensures that the hardware and firmware is specifically designed to protect the device from malware (Sen et al, 2015). This was confirmed by United States of Homeland Security in 2013, as only 0.7% of malware had been aimed at iOS as it is a substantially more difficult target than Android (Price, 2017).

Apple demonstrated their strong privacy policies when dealing with US law enforcement in 2016 regarding a locked iPhone that was related to the shooting in San Bernardino (Volz et al, 2016). They refused to create a software that would act as a backdoor into iOS devices as they believed it would jeopardise the security of all phones, leaving their customers vulnerable (Price, 2017). Tim Cook reinforced this by saying “we have a responsibility to help you protect your data and protect your privacy” which is a key objective of Apple (Price, 2017).

(Figure 6. Image courtesy of Apple – An open letter from Apple to their customers regarding the security of Apple devices after the shooting attack in 2016.)

In summary, it is can be seen that application developers have preferred the use of Android over iOS. However, when weighing out the factors contributing to each, it is evident that both operating systems consist of numerous advantages and disadvantages (Sheikh et al, 2013). Although this may make the process of choosing a platform seem more difficult, knowing what areas a developer wants to focus on will narrow down the options as both Android and iOS are appropriate, but for different aspects. The target market of the app must also be considered as there will not be a point of using Android if majority of the audience are iOS users (Rashid, 2017).

 

References

Apple., (2016) ‘A Message to Our Customers’ [online] Available at: https://www.apple.com/customer-letter/ (Accessed 7 May 2017).

Agrawal. A., (2015) ‘Android Application Security Part 2-Understanding Android Operating System’ Manifest Security [online] Available at: https://manifestsecurity.com/android-application-security-part-2/ (Accessed 6 May 2017).

Chekanov. S. V., (2016) Numeric Computation and Statistical Data Analysis on the Java Platform, Springer International Publishing.

Das. D., (2015) ‘Cocoa Layered Architecture for Mac OSX’ Knowledge Stack [online] Available at: http://www.knowstack.com/cocoa-layered-architecture-for-mac-osx/ (Accessed 8 May 2017).

Divya. K., Krishna-Kumar. S. V., “Comparative Analysis of Smart Phone Operating Systems Android, Apple iOS and Windows” (2016) International Journal of Scientific Engineering and Applied Science.

Dunn. J., (2017) ‘Samsung introduced 10 times as many phones as Apple last year, but its mobile division made half as much revenue’ Business Insider [online] Available at: http://uk.businessinsider.com/samsung-vs-apple-galaxy-iphone-smartphone-revenue-chart-2017-2?r=US&IR=T (Accessed 5 May 2017).

Filho. I. T. M. B., Aquino. G. S., “Development of mobile applications from existing Web-based enterprise systems” (2015) International Journal of Web Information Systems.

Flora, H. K., Wang, X., Chande, S. V., “An Investigation into Mobile Application Development Processes: Challenges and Best Practices” (2014) International Journal of Modern Education and Computer Science, 6, 1-9.

Garrison. J., (2010) ‘What is the Linux Kernel and What Does It Do?’ [online] Available at: https://www.howtogeek.com/howto/31632/what-is-the-linux-kernel-and-what-does-it-do/ (Accessed 4 May 2017).

Gsmarena., (2017) ‘Samsung sells the most smartphones in 2016, Apple comes second’ [online] Available at: http://www.gsmarena.com/samsung_sells_the_most_smartphones_in_2016_apple_comes_second-news-23872.php (Accessed 6 May 2017).

Mahapatra. L., (2013) ‘Android Vs. iOS: What’s The Most Popular Mobile Operating System in Your Country?’ International Business Times [online] Available at: http://www.ibtimes.com/android-vs-ios-whats-most-popular-mobile-operating-system-your-country-1464892 (Accessed 6 May 2017).

Okediran O. O., Arulogun O. T., Ganiyu R. A., Oyeleye C. A., “Mobile Operating Systems and Application Development Platforms: A Survey” (2014) International Journal of Advanced Networking and Applications.

Price. D., (2017) ‘iPhone vs Android: 5 reasons to pick the iPhone (and iOS)’ Macworld [online] Available at: http://www.macworld.co.uk/feature/iphone/iphone-vs-android-5-reasons-pick-iphone-ios-3454817/ (Accessed 1 May 2017).

Prince. B., (2013) ‘Google Android Vs. Apple iOS: The Mobile App Privacy War’ Dark Reading [online] Available at: http://www.darkreading.com/risk/google-android-vs-apple-ios-the-mobile-app-privacy-war/d/d-id/1140077? (Accessed 6 May 2017).

Rashid. M., (2017) ‘Android VS. iOS – A Comparison of the Platforms’ Nascenia [online] Available at: http://www.nascenia.com/android-vs-ios-a-comparison-of-the-platforms/ (Accessed 7 May 2017).

Richter. F., (2016) ‘Android and iOS Are the Last Two Standing’ Statista [online] Available at: https://www.statista.com/chart/4431/smartphone-operating-system-market-share/ (Accessed 3 May 2017).

Richter. F., (2014) ‘The Price Gap Between iOS and Android Is Widening’ Statista [online] Available at: https://www.statista.com/chart/1903/average-selling-price-of-android-and-ios-smartphones/ (Accessed 4 May 2017).

Righter. F., (2017) ‘Samsung’s Mobile Business Is Half the Size of Apple’s’ Statista [online] Available at: https://www.statista.com/chart/8319/samsung-vs-apple/ (Accessed 5 May 2017).

Sen. A., Dei. J., “Investigation on Trends of Mobile Operating Systems” (2015) International Journal of Engineering Research & Technology.

Singh. A. J., Bhardwaj. A., “Android vs. IOS: An Architectural Perspective” (2014) International Journal of Innovative Research and Development.

Sheikh. A. A., Ganai. P. T., Malik. N. A., Ahmad Dar. K. A., “Smartphone: Android Vs IOS” (2013) The Standard International Journal Transactions on Computer Science Engineering & its Applications.

Subramanian. K., (2014) ‘Top 10 reasons why your Enterprise Java Application is slow’ [online] Available at: http://karunsubramanian.com/websphere/top-10-reasons-why-your-enterprise-java-application-is-slow/ (Accessed 6 May 2017).

Tech Target., (2016) ‘Java’ [online] Available at: http://searchmicroservices.techtarget.com/definition/Java (Accessed 4 May 2017).

Volz. D., Roy. A., (2016) ‘U.S. government, Apple take encryption case to court of public opinion’ Reuters [online] Available at: http://www.reuters.com/article/us-apple-encryption-commission-idUSKCN0VV185 (Accessed 7 May 2017).

4 thoughts on “Comparing iOS and Android – The architecture and development environment of the two most popular operating systems

Leave a Reply to Dai software Cancel reply

Your email address will not be published. Required fields are marked *