Virtual Machines: A Brief Intro

The mobile application industry is a booming industry. A subset of that industry, the mobile retail industry, raked $80 billion in revenues in 2015 and is expected to rake in $206 billion in 2018 (Sytian, 2017). Other areas of the mobile application industry such as gaming and productivity is seeing steady growth in the creation of apps as well as revenue. This makes understanding the process of mobile application development even more crucial. One aspect of mobile application development that needs attention is virtual machines. Virtual machines are a tool in the final steps of mobile application development. This paper will discuss mobile application development in regard to virtual machines; what they are and their uses.

What Is A Virtual Machine?

To be a skilled mobile application developer, one must understand the idea of visualization. Virtualization emulates a guest operating system on top of a host operating system so that both operating systems can share the same hardware, unaware of each other’s presence (Golden, 2008). This concept is similar to how computers run applications. When one interacts with an application, the operating system “virtualizes” access to specific computer hardware, so that the application has access to it and can use it. Some use an application may want for hardware are the ability to read and write files or use a camera. For example, opening up a web browser and allowing it to use your computer’s camera, may disallow camera access to other applications. This is an oversimplification of how virtualization work, as operating systems, are more complex in that it manages how multiple applications access the same hardware (Garg & Verma 2017).

 The type of virtualization discussed in this article is hardware emulation, most commonly referred to as a virtual machine. A virtual machine is specific to a mobile device and operating systems such as Android OS or iOS. Hardware emulation creates a virtual machine in which the software mimics a device’s hardware and the operating system it would typically interact with (Golden, 2008). Virtual machines are necessary for testing and debugging in the mobile application development process. 

How Are They Used

Mobile application development would be difficult without virtual machines. Virtual machines are used so that newly created mobile applications can be tested on a variety of mobile operating systems; the two most dominant being Android iOS (Lee, 2017). This is the main reason why virtual machines are used in the mobile application development process. It simplifies the testing of applications on a specific operating system without having to physically load the application into the device that that operating system is running on. For example, if one is creating a simple application that takes a picture and displays it on a screen, one can test how the application will look and operate on a mobile operating system such as iOS, on the convenience of a desktop computer. This is helpful as it creates a faster process for testing and revising. 

Virtual machines are not only used to test applications on a variety of operating systems, they are also used to test applications on a variety of hardware devices (Lee, 2017). For example, Android Studio is a software development kit for the Android operating system. In short, it allows users to create Android applications and run them on a virtual machine, specific to a version of the Android Operating System and specific to an Android mobile device (Mullis, 2017). This allow one to view how their application runs on any device. It is crucial in the development process because developers would want their application to run smoothly on the most devices possible that the operating system runs on. 


Testing is an important step in software development and in regard to mobile application development, testing would be difficult with the use of virtual machines.  Virtual machines emulate a device’s hardware and software so that the intended application can run without having to physically load it on the device. Virtual machines are used to test both operating system and device compatibility. It is possible to develop without having a virtual machine, however, it makes it more time-consuming, thus more frustrating and difficult. Virtual machines allow developers to be efficient in the development process.


Garg, R. & Verma, G. (2017). Operating systems: An Introduction. Mercury Learning and Information. Dulles, VA. 

Golden, B. (2008). Virtualization for dummies. Wiley Publishing, Inc. Hoboken, NJ. 

Lee, J. (2017, April 27). 7 Practical reasons to start using a virtual machine. In Make Use Of. Retrieved from

Mullis, A. (2017 November, 11).  Android Studio tutorial for beginners. In Android Authority. Retrieved from

Sytian, K. (2017 July 12). How mobile apps are reshaping the e-commerce industry. In Single Grain. Retrieved from

Nullam quis risus eget urna mollis ornare vel eu leo. Aenean lacinia bibendum nulla sed