78

Christopher Allen’s Presentation at eComm 2009

Embed Size (px)

DESCRIPTION

iPhone in Action: Web Developement or SDK?

Citation preview

Page 1: Christopher Allen’s Presentation at eComm 2009
Page 2: Christopher Allen’s Presentation at eComm 2009

iPhone in Action:Web Development

or SDK?Christopher Allen

March 2009

Page 3: Christopher Allen’s Presentation at eComm 2009

Christopher Allen

Page 4: Christopher Allen’s Presentation at eComm 2009

manning.com/callen

Page 5: Christopher Allen’s Presentation at eComm 2009

iPhone in Action:Web

Development or SDK?

Page 6: Christopher Allen’s Presentation at eComm 2009

There are two ways that you can program for the iPhone, using web development tools and using the SDK

iPhone in Action:Web Development or

SDK?

Page 7: Christopher Allen’s Presentation at eComm 2009

There are two ways that you can program for the iPhone, using web development tools and using the SDK

Web development leverages internet technologies

iPhone in Action:Web Development or

SDK?

Page 8: Christopher Allen’s Presentation at eComm 2009

There are two ways that you can program for the iPhone, using web development tools and using the SDK

Web development leverages internet technologies

The iPhone SDK leverage the full power of the iPhone and years of Apple’s development experience

iPhone in Action:Web Development or

SDK?

Page 9: Christopher Allen’s Presentation at eComm 2009

The iPhone’s Mobile Safari features:

HTML 4.01 and XHTML 1.0CSS 2.1 and some CSS 3Full DOMJavascript 1.4XMLHttpRequest

thus support for AJAXCanvasPDF & QuicktimeUp to 8 “tabs”Many custom WebKit functions

iPhone in Action:Web Development or SDK?

Page 10: Christopher Allen’s Presentation at eComm 2009

Additional Mobile Safari features:

iPhone in Action:Web Development or SDK?

Page 11: Christopher Allen’s Presentation at eComm 2009

Additional Mobile Safari features:

Webkit CSS Transforms

iPhone in Action:Web Development or SDK?

Page 12: Christopher Allen’s Presentation at eComm 2009

Additional Mobile Safari features:

Webkit CSS TransformsCanvas - Scalable Vector Graphics

iPhone in Action:Web Development or SDK?

Page 13: Christopher Allen’s Presentation at eComm 2009

Additional Mobile Safari features:

Webkit CSS TransformsCanvas - Scalable Vector GraphicsDatabase - Local SQLite Storage

iPhone in Action:Web Development or SDK?

Page 14: Christopher Allen’s Presentation at eComm 2009

Additional Mobile Safari features:

Webkit CSS TransformsCanvas - Scalable Vector GraphicsDatabase - Local SQLite StorageTouch Events

iPhone in Action:Web Development or SDK?

touchStarttouchMovetouchEnd

touchCancelgestureStart

gestureChangegestureEnd

changedTouchestargetTouches

touchesorientation

rotationscale

Page 15: Christopher Allen’s Presentation at eComm 2009

Additional Mobile Safari features:

Webkit CSS TransformsCanvas - Scalable Vector GraphicsDatabase - Local SQLite StorageTouch EventsHide Mobile Safari’s Chrome

iPhone in Action:Web Development or SDK?

Page 16: Christopher Allen’s Presentation at eComm 2009

The iPhone SDK features:Same Mach kernel and Core OS as Macintosh

iPhone in Action:Web Development or SDK?

Page 17: Christopher Allen’s Presentation at eComm 2009

The iPhone SDK features:Same Mach kernel and Core OS as MacintoshMost of the same Core Services as Macintosh

iPhone in Action:Web Development or SDK?

Page 18: Christopher Allen’s Presentation at eComm 2009

The iPhone SDK features:Same Mach kernel and Core OS as MacintoshMost of the same Core Services as MacintoshMost of functionality available to Apple’s iPhone apps

iPhone in Action:Web Development or SDK?

Page 19: Christopher Allen’s Presentation at eComm 2009

The iPhone SDK features:Same Mach kernel and Core OS as MacintoshMost of the same Core Services as MacintoshMost of functionality available to Apple’s iPhone appsCocoa Touch with UIKit

iPhone in Action:Web Development or SDK?

Page 20: Christopher Allen’s Presentation at eComm 2009

The iPhone SDK features:Same Mach kernel and Core OS as MacintoshMost of the same Core Services as MacintoshMost of functionality available to Apple’s iPhone appsCocoa Touch with UIKitObjective C and C++ compiler

iPhone in Action:Web Development or SDK?

Page 21: Christopher Allen’s Presentation at eComm 2009

The iPhone SDK features:Same Mach kernel and Core OS as MacintoshMost of the same Core Services as MacintoshMost of functionality available to Apple’s iPhone appsCocoa Touch with UIKitObjective C and C++ compilerInterface Builder with UIKit templates

iPhone in Action:Web Development or SDK?

Page 22: Christopher Allen’s Presentation at eComm 2009

The iPhone SDK features:Same Mach kernel and Core OS as MacintoshMost of the same Core Services as MacintoshMost of functionality available to Apple’s iPhone appsCocoa Touch with UIKitObjective C and C++ compilerInterface Builder with UIKit templatesGreat debugging and profiling

iPhone in Action:Web Development or SDK?

Page 23: Christopher Allen’s Presentation at eComm 2009

Web Development Advantages

iPhone in Action:Web Development or SDK?

Page 24: Christopher Allen’s Presentation at eComm 2009

Same Advantages as in 2007

iPhone in

Action:Web Developm

ent or SDK?

Page 25: Christopher Allen’s Presentation at eComm 2009

Web Development Advantages

Simplicity

iPhone in Action:Web Development or SDK?

Page 26: Christopher Allen’s Presentation at eComm 2009

Web Development Advantages

Simplicity

Easier then using low-level C

iPhone in Action:Web Development or SDK?

Page 27: Christopher Allen’s Presentation at eComm 2009

Web Development Advantages

Simplicity

Easier then using low-level C

Languages are dynamic

iPhone in Action:Web Development or SDK?

Page 28: Christopher Allen’s Presentation at eComm 2009

Web Development Advantages

Simplicity

Easier then using low-level C

Languages are dynamic

No memory management

iPhone in Action:Web Development or SDK?

Page 29: Christopher Allen’s Presentation at eComm 2009

Web Development Advantages

Simplicity

Easier then using low-level C

Languages are dynamic

No memory management

Display of data is easy

iPhone in Action:Web Development or SDK?

Page 30: Christopher Allen’s Presentation at eComm 2009

Web Development Advantages

Simplicity

Easier then using low-level C

Languages are dynamic

No memory management

Display of data is easy

Deployment is an upload

iPhone in Action:Web Development or SDK?

Page 31: Christopher Allen’s Presentation at eComm 2009

Web Development Advantages

Simplicity

Easier then using low-level C

Languages are dynamic

No memory management

Display of data is easy

Deployment is an upload

Easy to use

iPhone in Action:Web Development or SDK?

Page 32: Christopher Allen’s Presentation at eComm 2009

Web Development Advantages

Simplicity

Dynamism

iPhone in Action:Web Development or SDK?

Page 33: Christopher Allen’s Presentation at eComm 2009

Web Development Advantages

Simplicity

Dynamism

Update functionality anytime

iPhone in Action:Web Development or SDK?

Page 34: Christopher Allen’s Presentation at eComm 2009

Web Development Advantages

Simplicity

Dynamism

Update functionality anytime

Easy to fix bugs

iPhone in Action:Web Development or SDK?

Page 35: Christopher Allen’s Presentation at eComm 2009

Web Development Advantages

Simplicity

Dynamism

Update functionality anytime

Easy to fix bugs

Give users the latest data

iPhone in Action:Web Development or SDK?

Page 36: Christopher Allen’s Presentation at eComm 2009

Web Development Advantages

Simplicity

Dynamism

Globalized

iPhone in Action:Web Development or SDK?

Page 37: Christopher Allen’s Presentation at eComm 2009

Web Development Advantages

Simplicity

Dynamism

Globalized

Part of global network

iPhone in Action:Web Development or SDK?

Page 38: Christopher Allen’s Presentation at eComm 2009

Web Development Advantages

Simplicity

Dynamism

Globalized

Part of global network

One program for iPhone and desktop

iPhone in Action:Web Development or SDK?

Page 39: Christopher Allen’s Presentation at eComm 2009

Web Development Advantages

Simplicity

Dynamism

Globalized

Part of global network

One program for iPhone and desktop

Access to rest of web

iPhone in Action:Web Development or SDK?

Page 40: Christopher Allen’s Presentation at eComm 2009

Web Development Advantages

Simplicity

Dynamism

Globalized

Part of global network

One program for iPhone and desktop

Access to rest of web

Connected to everyone

iPhone in Action:Web Development or SDK?

Page 41: Christopher Allen’s Presentation at eComm 2009

Multiple Platforms

iPhone in

Action:Web Developm

ent or SDK?

Page 42: Christopher Allen’s Presentation at eComm 2009

SDK Development Advantages

Sophistication

iPhone in Action:Web Development or SDK?

Page 43: Christopher Allen’s Presentation at eComm 2009

SDK Development Advantages

Sophistication

Great depth of functionality

iPhone in Action:Web Development or SDK?

Page 44: Christopher Allen’s Presentation at eComm 2009

SDK Development Advantages

Sophistication

Great depth of functionality

Superior development environment

iPhone in Action:Web Development or SDK?

Page 45: Christopher Allen’s Presentation at eComm 2009

SDK Development Advantages

Sophistication

Great depth of functionality

Superior development environment

Deeper access to internals

iPhone in Action:Web Development or SDK?

Page 46: Christopher Allen’s Presentation at eComm 2009

SDK Development Advantages

Sophistication

Great depth of functionality

Superior development environment

Deeper access to internals

Camera, accelerometers, GPS, gestures, contacts, photos

iPhone in Action:Web Development or SDK?

Page 47: Christopher Allen’s Presentation at eComm 2009

SDK Development Advantages

Sophistication

Great depth of functionality

Superior development environment

Deeper access to internals

Camera, accelerometers, GPS, gestures, contacts, photos

Better graphics and 3D

iPhone in Action:Web Development or SDK?

Page 48: Christopher Allen’s Presentation at eComm 2009

SDK Development Advantages

Sophistication

Accessibility

iPhone in Action:Web Development or SDK?

Page 49: Christopher Allen’s Presentation at eComm 2009

SDK Development Advantages

Sophistication

Accessibility

Always available

iPhone in Action:Web Development or SDK?

Page 50: Christopher Allen’s Presentation at eComm 2009

SDK Development Advantages

Sophistication

Accessibility

Always available

Functions without net

iPhone in Action:Web Development or SDK?

Page 51: Christopher Allen’s Presentation at eComm 2009

SDK Development Advantages

Sophistication

Accessibility

Always available

Functions without net

Cache data

iPhone in Action:Web Development or SDK?

Page 52: Christopher Allen’s Presentation at eComm 2009

SDK Development Advantages

Sophistication

Accessibility

Always available

Functions without net

Cache data

Native speed

iPhone in Action:Web Development or SDK?

Page 53: Christopher Allen’s Presentation at eComm 2009

SDK Development Advantages

Sophistication

Accessibility

Always available

Functions without net

Cache data

Native speed

Private

iPhone in Action:Web Development or SDK?

Page 54: Christopher Allen’s Presentation at eComm 2009

SDK Development Advantages

Sophistication

Accessibility

Monetization

iPhone in Action:Web Development or SDK?

Page 55: Christopher Allen’s Presentation at eComm 2009

SDK Development Advantages

Sophistication

Accessibility

Monetization

Easy to sell through App Store

iPhone in Action:Web Development or SDK?

Page 56: Christopher Allen’s Presentation at eComm 2009

SDK Development Advantages

Sophistication

Accessibility

Monetization

Easy to sell through App Store

Does not depend on advertisements or subscriptions

iPhone in Action:Web Development or SDK?

Page 57: Christopher Allen’s Presentation at eComm 2009

Both development approaches have their advantages.

You want to take advantage of each programming methods strengths and use it when appropriate.

Don’t blindly just use the SDK or the Web because you're more comfortable with it.

iPhone in Action:Web Development or SDK?

Page 58: Christopher Allen’s Presentation at eComm 2009

There are options to combine both approaches and thus play to their strengths

Mirrored Development

Mixed Development

Client-Server Development

Hybrid Development

iPhone in Action:Web Development or SDK?

Page 59: Christopher Allen’s Presentation at eComm 2009

Mirrored Development

Write a free web version as well a more fully featured SDK version

iPhone in Action:Web Development or SDK?

Page 60: Christopher Allen’s Presentation at eComm 2009

Mirrored Development

apnews.com & Mobile News App

iPhone in

Action:Web Developm

ent or SDK?

Page 61: Christopher Allen’s Presentation at eComm 2009

Mixed Development

Write different parts of a program suite via different means

iPhone in Action:Web Development or SDK?

Page 62: Christopher Allen’s Presentation at eComm 2009

Mixed Developmentgoogle.com/reader & Maps App

iPhone in

Action:Web Developm

ent or SDK?

Page 63: Christopher Allen’s Presentation at eComm 2009

Client-Server Development

Link in to web software through the SDK

iPhone in Action:Web Development or SDK?

Page 64: Christopher Allen’s Presentation at eComm 2009

Client-Server Development

Showtimes App & Gifts App

iPhone in

Action:Web Developm

ent or SDK?

Page 65: Christopher Allen’s Presentation at eComm 2009

Hybrid Development

Use PhoneGap plus native-looking iPhone Javascript libraries

Result is app that can be submitted to iPhone AppStore

You can now charge for your webapp

Cross-Platform for Android, Blackberry, more to come

http://phonegap.com/

iPhone in Action:Web Development or SDK?

Page 66: Christopher Allen’s Presentation at eComm 2009

Hybrid Development

Inside Trader & It’s On My iPhone

iPhone in

Action:Web Developm

ent or SDK?

Page 67: Christopher Allen’s Presentation at eComm 2009

Resources

Page 68: Christopher Allen’s Presentation at eComm 2009

iPhone In Action:Introduction to Web & SDK Development

manning.com/iphoneinactionOriented for web developersTopics:

Creating web apps optimized for the iPhone with Canvas, WebKit, and iUILearning about the iPhone native SDKProgramming with Cocoa Touch's UIKitBuilding apps that delve into the iPhone's toolboxBlending web & iPhone SDK development

Available Now in Print & PDFUpdates and Blog at iphoneinaction.manning.com

iPhone in Action:Web Development or SDK?

Page 69: Christopher Allen’s Presentation at eComm 2009

iPhoneWebDeviPhoneWebDev.com

iPhone in

Action:Web Developm

ent or SDK?

Page 70: Christopher Allen’s Presentation at eComm 2009

iUI Framework

iui.googlecode.comNavigation windows from JSON objectsNavigational objects using canvas UI tags for speedHandles phone rotation eventsSupports XmlHttpRequestA great iPhone user experience1.8KB with gzip and Dojo shrinksafeMoviesapp.com written in 5 hours...

iPhone in Action:Web Development or SDK?

Page 71: Christopher Allen’s Presentation at eComm 2009

moviesapp.com using iUI

iPhone in

Action:Web Developm

ent or SDK?

Page 72: Christopher Allen’s Presentation at eComm 2009

SQLite Safaritinyurl.com/sqlitesafari

iPhone in

Action:Web Developm

ent or SDK?

Page 73: Christopher Allen’s Presentation at eComm 2009

DashCode

iPhone in

Action:Web Developm

ent or SDK?

Page 74: Christopher Allen’s Presentation at eComm 2009

Dashcode Development

iPhone in

Action:Web Developm

ent or SDK?

Page 75: Christopher Allen’s Presentation at eComm 2009

PhoneGapphonegap.com

iPhone in

Action:Web Developm

ent or SDK?

Page 76: Christopher Allen’s Presentation at eComm 2009

TouchCode (json,xml,rss,...)

touchcode.googlecode.com

iPhone in

Action:Web Developm

ent or SDK?

Page 78: Christopher Allen’s Presentation at eComm 2009