You are previewing Mobile Platforms and Development Environments.
O'Reilly logo
Mobile Platforms and Development Environments

Book Description

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 Synthesis lecture 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 and Windows Phone -- along with the device-agnostic HTML5 mobile web platform. The lecture also covers location-based services (LBS) which can be considered as a platform in its own right. The lecture utilizes a sample application (TwitterSearch) that the authors show programmed on each of the platforms. Audiences who may benefit from this lecture 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 computing R&D projects; (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: From the Newton to the iPhone / iOS / Android / Windows Phone / Mobile Web / Platform-in-Platform: Location-Based Services (LBS) / The Future of Mobile Platforms / TwitterSearch Sample Application

Table of Contents

  1. Cover
  2. Half title
  3. Copyright
  4. Title
  5. Contents
  6. Preface
  7. 1 From the Newton to the iPhone
    1. 1.1 Recent History of Mobile Platforms
    2. 1.2 First Generation Mobile Platforms
    3. 1.3 J2ME and BREW
    4. 1.4 The Stars Aligned
  8. 2 iOS
    1. 2.1 Evolution: From iPhone OS to iOS
    2. 2.2 Direct Manipulation Through Multi-Touch
    3. 2.3 iOS Architecture Layers
      1. 2.3.1 Core OS Layer
      2. 2.3.2 Core Services Layer
      3. 2.3.3 Media Layer
      4. 2.3.4 Cocoa Touch Layer
    4. 2.4 Software Development Tools
      1. 2.4.1 Objective C
      2. 2.4.2 Xcode
      3. 2.4.3 Interface Builder
      4. 2.4.4 Instruments
      5. 2.4.5 iOS Simulator
      6. 2.4.6 Writing your First iOS App
    5. 2.5 iCloud
  9. 3 Android
    1. 3.1 From Humble Beginnings to Top Dog
    2. 3.2 Platform Architecture
      1. 3.2.1 Kernel
      2. 3.2.2 Android Runtime
      3. 3.2.3 System Libraries
      4. 3.2.4 Application Framework
    3. 3.3 Developing Android Applications
    4. 3.4 Anatomy of an Android Application
    5. 3.5 The Android Software Development Kit
      1. 3.5.1 Debugging and Testing
      2. 3.5.2 Useful Tools
      3. 3.5.3 Writing your First Android Application
  10. 4 Windows Phone
    1. 4.1 Evolution: From Windows Mobile to Windows Phone
    2. 4.2 Metro UI
    3. 4.3 Platform Architecture
      1. 4.3.1 The Kernel
      2. 4.3.2 Common Library
    4. 4.4 Programming Languages and Frameworks
      1. 4.4.1 The Silverlight Framework
      2. 4.4.2 The XNA Framework
      3. 4.4.3 Mixing XNA with Silverlight
    5. 4.5 Development Tools
      1. 4.5.1 Visual Studio
      2. 4.5.2 Expression Blend
      3. 4.5.3 Windows Phone Emulator
      4. 4.5.4 XNA Game Studio
      5. 4.5.5 Silverlight for Windows Phone Toolkit
      6. 4.5.6 App Hub and Marketplace
      7. 4.5.7 Windows Azure Toolkit
  11. 5 Mobile Web
    1. 5.1 Mobile Web Evolution
    2. 5.2 Being Mobile Friendly
      1. 5.2.1 Device Detection
      2. 5.2.2 Viewport Meta Tag
      3. 5.2.3 CSS Media Queries
      4. 5.2.4 Orientation Detection
      5. 5.2.5 Touch and Gesture Events
      6. 5.2.6 Open Native Applications
      7. 5.2.7 Device APIs
      8. 5.2.8 Browser Fragmentation
      9. 5.2.9 Data Optimization
    3. 5.3 HTML5
    4. 5.4 WebKit
    5. 5.5 Web vs. Native vs. Hybrid
      1. 5.5.1 Web vs. Native
      2. 5.5.2 Hybrid Applications
    6. 5.6 Offline Web Application
      1. 5.6.1 HTML5 AppCache
      2. 5.6.2 W3C Widget
      3. 5.6.3 WAC
    7. 5.7 Mobile Web Application Frameworks
    8. 5.8 Development Tools
  12. 6 Platform-in-Platform: Location-Based Services (LBS)
    1. 6.1 Historical Perspective
    2. 6.2 Evolution of LBS
    3. 6.3 Mapping the World
      1. 6.3.1 Outdoor Maps
      2. 6.3.2 Mapping the Indoors
    4. 6.4 iOS LBS Support
      1. 6.4.1 iOS Core Location Framework
      2. 6.4.2 iOS Map Kit Framework
      3. 6.4.3 Other LBS/Maps Support for iOS
    5. 6.5 Android LBS Support
      1. 6.5.1 Android Location Manager Service
      2. 6.5.2 Android Geocoding Service
      3. 6.5.3 Google Map View
      4. 6.5.4 Other LBS/Maps Support for Android
    6. 6.6 Windows Phone LBS Support
      1. 6.6.1 Windows Phone Location Service
      2. 6.6.2 Bing Maps Control
      3. 6.6.3 Bing Maps Web Services
      4. 6.6.4 Other LBS/Maps Support for Windows Phone
    7. 6.7 Mobile Web LBS Support
  13. 7 The Future of Mobile Platforms
  14. A TwitterSearch Sample Application
    1. A.1 iOS Code
    2. A.2 Android Code
    3. A.3 Windows Phone Code
    4. A.4 Mobile Web Code
  15. Authors’ Biographies