Slide 2: March 2009
iPhone in Action: Web Development or SDK?
Christopher Allen
Slide 3: Christopher Allen
Slide 4: manning.com/callen
Slide 5: Web Development or SDK?
iPhone in Action:
Slide 6: iPhone in Action: Web Development or SDK?
There are two ways that you can program for the iPhone, using web development tools and using the SDK
Slide 7: iPhone in Action: Web Development or SDK?
There are two ways that you can program for the iPhone, using web development tools and using the SDK Web development leverages internet technologies
Slide 8: iPhone in Action: Web Development or SDK?
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
Slide 9: Action:Web Development or SDK?
The iPhone’s Mobile Safari features:
HTML 4.01 and XHTML 1.0 CSS 2.1 and some CSS 3 Full DOM Javascript 1.4 XMLHttpRequest thus support for AJAX Canvas PDF & Quicktime Up to 8 “tabs” Many custom WebKit functions
Slide 10: Action:Web Development or SDK?
Additional Mobile Safari features:
Slide 11: Action:Web Development or SDK?
Additional Mobile Safari features:
Webkit CSS Transforms
Slide 12: Action:Web Development or SDK?
Additional Mobile Safari features:
Webkit CSS Transforms Canvas - Scalable Vector Graphics
Slide 13: Action:Web Development or SDK?
Additional Mobile Safari features:
Webkit CSS Transforms Canvas - Scalable Vector Graphics Database - Local SQLite Storage
Slide 14: Action:Web Development or SDK?
Additional Mobile Safari features:
Webkit CSS Transforms Canvas - Scalable Vector Graphics Database - Local SQLite Storage Touch Events
touchStart touchMove touchEnd touchCancel gestureStart gestureChange gestureEnd changedTouches targetTouches touches orientation rotation scale
Slide 15: Action:Web Development or SDK?
Additional Mobile Safari features:
Webkit CSS Transforms Canvas - Scalable Vector Graphics Database - Local SQLite Storage Touch Events Hide Mobile Safari’s Chrome
Slide 16: Action:Web Development or SDK?
The iPhone SDK features:
Same Mach kernel and Core OS as Macintosh
Slide 17: Action:Web Development or SDK?
The iPhone SDK features:
Same Mach kernel and Core OS as Macintosh Most of the same Core Services as Macintosh
Slide 18: Action:Web Development or SDK?
The iPhone SDK features:
Same Mach kernel and Core OS as Macintosh Most of the same Core Services as Macintosh Most of functionality available to Apple’s iPhone apps
Slide 19: Action:Web Development or SDK?
The iPhone SDK features:
Same Mach kernel and Core OS as Macintosh Most of the same Core Services as Macintosh Most of functionality available to Apple’s iPhone apps Cocoa Touch with UIKit
Slide 20: Action:Web Development or SDK?
The iPhone SDK features:
Same Mach kernel and Core OS as Macintosh Most of the same Core Services as Macintosh Most of functionality available to Apple’s iPhone apps Cocoa Touch with UIKit Objective C and C++ compiler
Slide 21: Action:Web Development or SDK?
The iPhone SDK features:
Same Mach kernel and Core OS as Macintosh Most of the same Core Services as Macintosh Most of functionality available to Apple’s iPhone apps Cocoa Touch with UIKit Objective C and C++ compiler Interface Builder with UIKit templates
Slide 22: Action:Web Development or SDK?
The iPhone SDK features:
Same Mach kernel and Core OS as Macintosh Most of the same Core Services as Macintosh Most of functionality available to Apple’s iPhone apps Cocoa Touch with UIKit Objective C and C++ compiler Interface Builder with UIKit templates Great debugging and profiling
Slide 23: Action:Web Development or SDK?
Web Development Advantages
Slide 24: iPhone in Ac tion:W
eb Develop ment or SDK?
Same Advantages as in 2007
Slide 25: Action:Web Development or SDK?
Web Development Advantages Simplicity
Slide 26: Action:Web Development or SDK?
Web Development Advantages Simplicity Easier then using low-level C
Slide 27: Action:Web Development or SDK?
Web Development Advantages Simplicity Easier then using low-level C Languages are dynamic
Slide 28: Action:Web Development or SDK?
Web Development Advantages Simplicity Easier then using low-level C Languages are dynamic No memory management
Slide 29: Action:Web Development or SDK?
Web Development Advantages Simplicity Easier then using low-level C Languages are dynamic No memory management Display of data is easy
Slide 30: Action:Web Development or SDK?
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
Slide 31: Action:Web Development or SDK?
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
Slide 32: Action:Web Development or SDK?
Web Development Advantages Simplicity Dynamism
Slide 33: Action:Web Development or SDK?
Web Development Advantages Simplicity Dynamism Update functionality anytime
Slide 34: Action:Web Development or SDK?
Web Development Advantages Simplicity Dynamism Update functionality anytime Easy to fix bugs
Slide 35: Action:Web Development or SDK?
Web Development Advantages Simplicity Dynamism Update functionality anytime Easy to fix bugs Give users the latest data
Slide 36: Action:Web Development or SDK?
Web Development Advantages Simplicity Dynamism Globalized
Slide 37: Action:Web Development or SDK?
Web Development Advantages Simplicity Dynamism Globalized Part of global network
Slide 38: Action:Web Development or SDK?
Web Development Advantages Simplicity Dynamism Globalized Part of global network One program for iPhone and desktop
Slide 39: Action:Web Development or SDK?
Web Development Advantages Simplicity Dynamism Globalized Part of global network One program for iPhone and desktop Access to rest of web
Slide 40: Action:Web Development or SDK?
Web Development Advantages Simplicity Dynamism Globalized Part of global network One program for iPhone and desktop Access to rest of web Connected to everyone
Slide 41: iPhone in Ac tion:W
eb Develop ment or SDK?
Multiple Platforms
Slide 42: Action:Web Development or SDK?
SDK Development Advantages Sophistication
Slide 43: Action:Web Development or SDK?
SDK Development Advantages Sophistication Great depth of functionality
Slide 44: Action:Web Development or SDK?
SDK Development Advantages Sophistication Great depth of functionality Superior development environment
Slide 45: Action:Web Development or SDK?
SDK Development Advantages Sophistication Great depth of functionality Superior development environment Deeper access to internals
Slide 46: Action:Web Development or SDK?
SDK Development Advantages Sophistication Great depth of functionality Superior development environment Deeper access to internals Camera, accelerometers, GPS, gestures, contacts, photos
Slide 47: Action:Web Development or SDK?
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
Slide 48: Action:Web Development or SDK?
SDK Development Advantages Sophistication Accessibility
Slide 49: Action:Web Development or SDK?
SDK Development Advantages Sophistication Accessibility Always available
Slide 50: Action:Web Development or SDK?
SDK Development Advantages Sophistication Accessibility Always available Functions without net
Slide 51: Action:Web Development or SDK?
SDK Development Advantages Sophistication Accessibility Always available Functions without net Cache data
Slide 52: Action:Web Development or SDK?
SDK Development Advantages Sophistication Accessibility Always available Functions without net Cache data Native speed
Slide 53: Action:Web Development or SDK?
SDK Development Advantages Sophistication Accessibility Always available Functions without net Cache data Native speed Private
Slide 54: Action:Web Development or SDK?
SDK Development Advantages Sophistication Accessibility Monetization
Slide 55: Action:Web Development or SDK?
SDK Development Advantages Sophistication Accessibility Monetization Easy to sell through App Store
Slide 56: Action:Web Development or SDK?
SDK Development Advantages Sophistication Accessibility Monetization Easy to sell through App Store Does not depend on advertisements or subscriptions
Slide 57: Action:Web Development or SDK?
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.
Slide 58: Action:Web Development or SDK?
There are options to combine both approaches and thus play to their strengths Mirrored Development Mixed Development Client-Server Development Hybrid Development
Slide 59: Action:Web Development or SDK?
Mirrored Development Write a free web version as well a more fully featured SDK version
Slide 60: iPhone in Ac tion:W
eb Develop ment or SDK?
Mirrored Development
apnews.com & Mobile News App
Slide 61: Action:Web Development or SDK?
Mixed Development Write different parts of a program suite via different means
Slide 62: iPhone in Ac tion:W
eb Develop ment or SDK?
Mixed Development
google.com/reader & Maps App
Slide 63: Action:Web Development or SDK?
Client-Server Development Link in to web software through the SDK
Slide 64: iPhone in Ac tion:W
eb Develop ment or SDK?
Client-Server Development
Showtimes App & Gifts App
Slide 65: Action:Web Development or SDK?
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/
Slide 66: iPhone in Ac tion:W
eb Develop ment or SDK?
Hybrid Development
Inside Trader & It’s On My iPhone
Slide 67: Resources
Slide 68: Action:Web Development or SDK?
iPhone In Action:
Introduction to Web & SDK Development manning.com/iphoneinaction
Oriented for web developers Topics:
Creating web apps optimized for the iPhone with Canvas, WebKit, and iUI Learning about the iPhone native SDK Programming with Cocoa Touch's UIKit Building apps that delve into the iPhone's toolbox Blending web & iPhone SDK development
Available Now in Print & PDF Updates and Blog at
iphoneinaction.manning.com
Slide 69: iPhone in Ac tion:W
eb Develop ment or SDK?
iPhoneWebDev
iPhoneWebDev.com
Slide 70: Action:Web Development or SDK?
iUI Framework
iui.googlecode.com
Navigation windows from JSON objects Navigational objects using canvas UI tags for speed Handles phone rotation events Supports XmlHttpRequest A great iPhone user experience 1.8KB with gzip and Dojo shrinksafe Moviesapp.com written in 5 hours...
Slide 71: iPhone in Ac tion:W
eb Develop ment or SDK?
moviesapp.com using iUI
Slide 72: iPhone in Ac tion:W
eb Develop ment or SDK?
SQLite Safari
tinyurl.com/sqlitesafari
Slide 73: iPhone in Ac tion:W
eb Develop ment or SDK?
DashCode
Slide 74: iPhone in Ac tion:W
eb Develop ment or SDK?
Dashcode Development
Slide 75: iPhone in Ac tion:W
eb Develop ment or SDK?
PhoneGap
phonegap.com
Slide 76: iPhone in Ac tion:W
eb Develop ment or SDK?
TouchCode (json,xml,rss,...)
touchcode.googlecode.com
Slide 77: <mailto:ChristopherA@manning.com>