Abstract
Mobile application stores (or app stores) sell or provide mobile applications/services for handheld devices such as smartphones or tablet computers. A wide variety of mobile applications is available on the app stores. Popular applications include location-based services, mobile games, mobile offices, and music. The highly popular apps create great opportunities for IT companies and workers. However, traditional desktop programmers have problems switching to handheld programming because it requires a different approach from desktop programming. Unlike desktop application development, there are no widely accepted tools or software for mobile app development. At the same time, mobile app development is complicated and platform-specific compared to desktop application development. This chapter introduces mobile app development using Android. Mobile developers can get a sense of mobile app development by reading this chapter and apply it to other platforms or further explore the Android app development.
TopIntroduction
When Apple launched its iPhones in 2007, they opened an App Store subsequently. They claimed the store has over 100 billion apps download, and has paid out more than $30 billion to developers since its inception. There were more than 1.5 million apps available in 2015 (TechCrunch, 2015). The highly popular iPhones help the sales and development of applications. On the other hand, the large number of apps helps the sales of iPhones too. It is a win-win situation for both of the Apple, Inc. and app developers. Witnessing the success of the App Store, other mobile operating system providers realized they might be left behind if they did not have this kind of stores for their operating systems. They set up their own app stores immediately. Some of the major stores are given in Table 1 (Hu, 2016). The highly popular apps create great opportunities for IT companies and workers. However, traditional desktop programmers have problems switching to handheld programming because it requires a different approach from desktop programming (Kiely, 2001). This chapter introduces essential technologies for mobile/handheld computing, so more IT workers can join the mobile trend of computing.
Table 1. Major mobile application stores (Hu, 2016)
Company | Mobile Application Store |
Name | Major Mobile Products | Name | Major Operating Systems Supported | Launch Date |
Apple Inc. | Smartphone Mobile operating system | App Store | iOS | 07/10/2008 |
Open Handset Alliance (Alphabet) | Mobile operating system | Google Play | Android | 10/22/2008 |
Microsoft | Mobile operating system | Windows Phone Apps | Windows Phone | 10/06/2009 |
Research In Motion | Smartphone Mobile operating system | BlackBerry World | BlackBerry OS | 04/01/2009 |
Samsung | Smartphone | Samsung Apps | Android Windows Phone | 09/14/2009 |
LG | Smartphone | LG Smart World | Android Windows Phone WebOS | |
GetJar | None | GetJar | Almost all | xx/xx/2004 |
Opera | Mobile browser | Opera Mobile Store | Almost all | 02/16/2009 |
Sony | Smartphone | Apps | Android Windows Phone | 02/xx/2004 |
Key Terms in this Chapter
Mobile Handheld Devices: They are small general-purpose, programmable, battery-powered computers, but they are different from desk- or lap- top computers mainly due to the following special features: (i) limited network bandwidth, (ii) small screen/body size, and (iii) mobility.
Server-Side Handheld Programming: It is design and development of handheld/mobile software such as CGI programs that reside on the servers.
Client-Side Handheld Programming: It is design and development of handheld/mobile software such as Android programs that reside on the handheld/mobile devices.
Android: It is a software stack for mobile devices that includes an operating system, middleware, and key applications such as contacts. It is a project proposed by the Open Handset Alliance, a group of more than 84 technology and mobile companies including Google, Inc.
Apps: A mobile app (or application) is a kind of software designed to run on mobile handheld devices such as smartphones. Examples of apps are calendars, video games, and short message services (SMS).
iOS (previously iPhone OS): It is a mobile operating system developed by Apple Inc. for its mobile/handheld devices such as iPhone and iPad. iOS is derived from OS X (used for Apple’s computers such as iMac and MacBook) and both are based on the Unix. It includes four abstraction layers: (i) the Core OS layer, (ii) the Core Services layer, (iii) the Media layer, and (iv) the Cocoa Touch layer. iOS includes a user interface interacted with multi-touch gestures such as swipe, tap, and pinch, all of which have specific definitions in iOS.
Mobile/Handheld Computing: It is to use handheld devices such as smartphones to perform wireless, mobile, handheld operations such as managing personal data, playing video games, and browsing the Internet.
Android Studio IDE (Integrated Development Environment): Since 2014, Android Studio became the primary IDE for native Android application development. It is free software under the Apache License 2.0 developed by Google. It includes the following features: intelligent code editor, code templates and GitHub integration, multi-screen app development, virtual devices for all shapes and sizes, and Android builds evolved, with Gradle.
Windows Phone: Windows Phone is a mobile operating system developed by Microsoft and is aimed at the consumer market. It is derived from Windows Mobile platform, which focuses on the enterprise market instead. Windows Phone includes a new user interface of flat, colored live tiles and a laterally scrolling canvas for accommodating more tiles.