Mobile Platforms

Mobile Application Design and Development [./]
Spring 2010 — INFO 152 (CCN 42504)

Erik Wilde, UC Berkeley School of Information
2010-03-01

Creative Commons License [http://creativecommons.org/licenses/by/3.0/]

This work is licensed under a CC
Attribution 3.0 Unported License
[http://creativecommons.org/licenses/by/3.0/]

Contents Erik Wilde: Mobile Platforms

Contents

Erik Wilde: Mobile Platforms

(2) Abstract

This lecture takes a closer view of the spectrum between native and Web-based mobile apps. Specifically, we look at the gap, how that gap might be closed by the activities referred to as HTML5, and what still remains as open issues even with HTML5. We also look at the hybrid approaches such as PhoneGap, and at the more desktop-inspired approaches of Flash Light and JavaFX.



Delivering Mobile Web Applications

Outline (Delivering Mobile Web Applications)

  1. Delivering Mobile Web Applications [3]
  2. Native Runtime Platforms [5]
  3. Web-Based Runtime Platforms [6]
  4. Hybrid Runtime Platforms [7]
Delivering Mobile Web Applications Erik Wilde: Mobile Platforms

(4) URIs for Mobile Resources

QR Code for http://dret.net/lectures/mobapp-spring10/

Delivering Mobile Web Applications Erik Wilde: Mobile Platforms

(5) One Web URIs



Delivering Mobile Web Applications Erik Wilde: Mobile Platforms

(6) Mobile Web URIs



Native Runtime Platforms

Outline (Native Runtime Platforms)

  1. Delivering Mobile Web Applications [3]
  2. Native Runtime Platforms [5]
  3. Web-Based Runtime Platforms [6]
  4. Hybrid Runtime Platforms [7]
Native Runtime Platforms Erik Wilde: Mobile Platforms

(8) Mobile Platform Overview

mobile-platform.png

Native Runtime Platforms Erik Wilde: Mobile Platforms

(9) The Legacy of J2ME



Native Runtime Platforms Erik Wilde: Mobile Platforms

(10) Tightly Controlled Platforms



Native Runtime Platforms Erik Wilde: Mobile Platforms

(11) Open and/or Licensed Platforms



Native Runtime Platforms Erik Wilde: Mobile Platforms

(12) Cross-Platform Development

Platform Language Sophistication
iPhone Objective C complicated & polished
Android Java Eclipse
Blackberry Java not great
Windows Mobile .NET and/or C# complex
Nokia (Maemo/MeeGo) C++, Java, Flash Light, Web techs not focused
Palm (WebOS) Web techs ?


Web-Based Runtime Platforms

Outline (Web-Based Runtime Platforms)

  1. Delivering Mobile Web Applications [3]
  2. Native Runtime Platforms [5]
  3. Web-Based Runtime Platforms [6]
  4. Hybrid Runtime Platforms [7]
Web-Based Runtime Platforms Erik Wilde: Mobile Platforms

(14) Web-Based Mobile Platform

mobile-platform-web-based.png

Web-Based Runtime Platforms Erik Wilde: Mobile Platforms

(15) iPhone Platform

mobile-platform-iphone.png

Web-Based Runtime Platforms Erik Wilde: Mobile Platforms

(16) Web as a Platform



Web-Based Runtime Platforms Erik Wilde: Mobile Platforms

(17) Current Web Capabilities



Web-Based Runtime Platforms Erik Wilde: Mobile Platforms

(18) HTML5 Capabilities



Web-Based Runtime Platforms Erik Wilde: Mobile Platforms

(19) Missing Pieces



Hybrid Runtime Platforms

Outline (Hybrid Runtime Platforms)

  1. Delivering Mobile Web Applications [3]
  2. Native Runtime Platforms [5]
  3. Web-Based Runtime Platforms [6]
  4. Hybrid Runtime Platforms [7]
Hybrid Runtime Platforms Erik Wilde: Mobile Platforms

(21) Java Revisited



Hybrid Runtime Platforms Erik Wilde: Mobile Platforms

(22) Embedded in the Browser



Hybrid Runtime Platforms Erik Wilde: Mobile Platforms

(23) Browser/Flash Platform

mobile-platform-flash.png

Hybrid Runtime Platforms Erik Wilde: Mobile Platforms

(24) Standalone Runtimes



Hybrid Runtime Platforms Erik Wilde: Mobile Platforms

(25) Flash Standalone Platform (AIR)

mobile-platform-android-flash.png

Hybrid Runtime Platforms Erik Wilde: Mobile Platforms

(26) Compiled Runtimes



Hybrid Runtime Platforms Erik Wilde: Mobile Platforms

(27) PhoneGap on the iPhone

mobile-platform-phonegap.png

Erik Wilde: Mobile Platforms

(28) Conclusions



2010-03-01 Mobile Application Design and Development [./]
Spring 2010 — INFO 152 (CCN 42504)