Mobile Platforms and Development Environments

Sumi Helal, Raja Bose and Wendong Li

Morgan & Claypool Publishers
February 2012.

ISBN: 9781608458660 paperback
ISBN: 9781608458677 ebook

Book is available from Amazon.

About this Book

Mobile platform development has lately become a technological war zone with extremely dynamic and fluid movement, especially in the smart phone and tablet market space. This book is a guide to the latest developments of the key mobile platforms that are shaping the mobile platform industry. The book covers the three currently dominant native platforms—iOS, Android andWindows Phone—along with the device-agnostic HTML5 mobile web platform. The book also covers location-based services (LBS) which can be considered as a platform in its own right.

The book utilizes a sample application (TwitterSearch) that the authors show programmed on each of the platforms.

Audiences who may benefit from this book include: (1) undergraduate and graduate students taking mobile computing classes or self-learning the mobile platform programmability road map; (2) academic and industrial researchers working on mobile computingR&Dprojects; (3) mobile app developers for a specific platform who may be curious about other platforms; (4) system integrator consultants and firms concerned with mobilizing businesses and enterprise apps; and (5) industries including health care, logistics, mobile workforce management, mobile commerce and payment systems and mobile search and advertisement.

Table of Contents


1 From the Newton to the iPhone
1.1 Recent History of Mobile Platforms
1.2 First Generation Mobile Platforms
1.3 J2ME and BREW
1.4 The Stars Aligned

2 iOS
2.1 Evolution: From iPhone OS to iOS
2.2 Direct Manipulation Through Multi-Touch
2.3 iOS Architecture Layers
2.3.1 Core OS Layer
2.3.2 Core Services Layer
2.3.3 Media Layer
2.3.4 Cocoa Touch Layer
2.4 Software Development Tools
2.4.1 Objective C
2.4.2 Xcode
2.4.3 Interface Builder
2.4.4 Instruments
2.4.5 iOS Simulator
2.4.6 Writing your First iOS App
2.5 iCloud

3 Android
3.1 From Humble Beginnings to Top Dog
3.2 Platform Architecture
3.2.1 Kernel
3.2.2 Android Runtime
3.2.3 System Libraries
3.2.4 Application Framework
3.3 Developing Android Applications
3.4 Anatomy of an Android Application
3.5 The Android Software Development Kit
3.5.1 Debugging and Testing
3.5.2 Useful Tools
3.5.3 Writing your First Android Application

4 Windows Phone
4.1 Evolution: FromWindows Mobile toWindows Phone
4.2 Metro UI
4.3 Platform Architecture
4.3.1 The Kernel
4.3.2 Common Library
4.4 Programming Languages and Frameworks
4.4.1 The Silverlight Framework
4.4.2 The XNA Framework
4.4.3 Mixing XNA with Silverlight
4.5 Development Tools
4.5.1 Visual Studio
4.5.2 Expression Blend
4.5.3 Windows Phone Emulator
4.5.4 XNA Game Studio
4.5.5 Silverlight forWindows Phone Toolkit
4.5.6 App Hub and Marketplace
4.5.7 Windows Azure Toolkit

5 Mobile Web
5.1 MobileWeb Evolution
5.2 Being Mobile Friendly
5.2.1 Device Detection
5.2.2 Viewport Meta Tag
5.2.3 CSS Media Queries
5.2.4 Orientation Detection
5.2.5 Touch and Gesture Events
5.2.6 Open Native Applications
5.2.7 Device APIs
5.2.8 Browser Fragmentation
5.2.9 Data Optimization
5.3 HTML5
5.4 WebKit
5.5 Web vs. Native vs. Hybrid
5.5.1 Web vs. Native
5.5.2 Hybrid Applications
5.6 OfflineWeb Application
5.6.1 HTML5 AppCache
5.6.2 W3CWidget
5.6.3 WAC
5.7 MobileWeb Application Frameworks
5.8 Development Tools

6 Platform-in-Platform: Location-Based Services (LBS)
6.1 Historical Perspective
6.2 Evolution of LBS
6.3 Mapping theWorld
6.3.1 Outdoor Maps
6.3.2 Mapping the Indoors
6.4 iOS LBS Support
6.4.1 iOS Core Location Framework
6.4.2 iOS Map Kit Framework
6.4.3 Other LBS/Maps Support for iOS
6.5 Android LBS Support
6.5.1 Android Location Manager Service
6.5.2 Android Geocoding Service
6.5.3 Google Map View
6.5.4 Other LBS/Maps Support for Android
6.6 Windows Phone LBS Support
6.6.1 Windows Phone Location Service
6.6.2 Bing Maps Control
6.6.3 Bing MapsWeb Services
6.6.4 Other LBS/Maps Support forWindows Phone
6.7 MobileWeb LBS Support

7 The Future of Mobile Platforms

A TwitterSearch Sample Application

A.1 iOS Code
A.2 Android Code
A.3 Windows Phone Code
A.4 Mobile Web Code

Authors’ Biographies