iOS Development Introduction (MuMe11)
-
Upload
gonzalo-parra -
Category
Technology
-
view
6.431 -
download
2
description
Transcript of iOS Development Introduction (MuMe11)
![Page 1: iOS Development Introduction (MuMe11)](https://reader034.fdocuments.us/reader034/viewer/2022051820/55388b0f550346e93a8b47aa/html5/thumbnails/1.jpg)
IOS DEVELOPMENTINTRODUCTION
Gonzalo Parra#mume11
October 14, 2011
![Page 2: iOS Development Introduction (MuMe11)](https://reader034.fdocuments.us/reader034/viewer/2022051820/55388b0f550346e93a8b47aa/html5/thumbnails/2.jpg)
A smartphone is a mobile phone that offers more advanced computing
ability and connectivity than a contemporary feature phone.
Source: LP33.TV
![Page 3: iOS Development Introduction (MuMe11)](https://reader034.fdocuments.us/reader034/viewer/2022051820/55388b0f550346e93a8b47aa/html5/thumbnails/3.jpg)
WHAT IS THE IPHONE?• accelerometer
• Three-axis gyro
• Assisted GPS
• Digital compass
• multi-touch display
• sensors (proximity, ambient light)
• camera (photos, video)
• UMTS/HSDPA, GSM/EDGE, WI-FI, Bluetooth
![Page 4: iOS Development Introduction (MuMe11)](https://reader034.fdocuments.us/reader034/viewer/2022051820/55388b0f550346e93a8b47aa/html5/thumbnails/4.jpg)
Sources: http://www.trendbird.co.kr/, iOS Developer Library, http://www.capsulecomputers.com.au
![Page 5: iOS Development Introduction (MuMe11)](https://reader034.fdocuments.us/reader034/viewer/2022051820/55388b0f550346e93a8b47aa/html5/thumbnails/5.jpg)
IOS?
• iPod Touch
• iPhone
• iPad
![Page 6: iOS Development Introduction (MuMe11)](https://reader034.fdocuments.us/reader034/viewer/2022051820/55388b0f550346e93a8b47aa/html5/thumbnails/6.jpg)
WHAT IS THE IOS?
Based on a work at cs193p.stanford.edu
![Page 7: iOS Development Introduction (MuMe11)](https://reader034.fdocuments.us/reader034/viewer/2022051820/55388b0f550346e93a8b47aa/html5/thumbnails/7.jpg)
Core OSOSX KernelMach 3.0BSDSocketsSecurity
Power ManagementKeychain AccessCertificatesFile SystemBonjour
iOSCocoa Touch
Media
Core Services
Core OS
StanfordCS193p
Fall 2010
Based on a work at cs193p.stanford.edu
![Page 8: iOS Development Introduction (MuMe11)](https://reader034.fdocuments.us/reader034/viewer/2022051820/55388b0f550346e93a8b47aa/html5/thumbnails/8.jpg)
Core ServicesCollectionsAddress BookNetworkingFile AccessSQLite
Core LocationNet ServicesThreadingPreferencesURL Utilities
iOSCocoa Touch
Media
Core Services
Core OS
StanfordCS193p
Fall 2010
Based on a work at cs193p.stanford.edu
![Page 9: iOS Development Introduction (MuMe11)](https://reader034.fdocuments.us/reader034/viewer/2022051820/55388b0f550346e93a8b47aa/html5/thumbnails/9.jpg)
MediaCore AudioOpenALAudio MixingAudio RecordingVideo Playback
JPEG, PNG, TIFFPDFQuartz (2D)Core AnimationOpenGL ES
iOSCocoa Touch
Media
Core Services
Core OS
StanfordCS193p
Fall 2010
Based on a work at cs193p.stanford.edu
![Page 10: iOS Development Introduction (MuMe11)](https://reader034.fdocuments.us/reader034/viewer/2022051820/55388b0f550346e93a8b47aa/html5/thumbnails/10.jpg)
Cocoa TouchMulti-Touch
Core Motion
View Hierarchy
Localization
Controls
Alerts
Web View
Map Kit
Image Picker
Camera
iOSCocoa Touch
Media
Core Services
Core OS
StanfordCS193p
Fall 2010
Based on a work at cs193p.stanford.edu
![Page 11: iOS Development Introduction (MuMe11)](https://reader034.fdocuments.us/reader034/viewer/2022051820/55388b0f550346e93a8b47aa/html5/thumbnails/11.jpg)
TYPES OF DEVELOPMENT
• Native Apps
• Mobile Web Apps
• External frameworks
![Page 12: iOS Development Introduction (MuMe11)](https://reader034.fdocuments.us/reader034/viewer/2022051820/55388b0f550346e93a8b47aa/html5/thumbnails/12.jpg)
NATIVE APPLICATIONS
• iOS SDK (requires an Intel Mac)
• Language: Objective-C
• Tools: XCode, iOS Simulator
• Apple Developer Program
• AppStore
![Page 13: iOS Development Introduction (MuMe11)](https://reader034.fdocuments.us/reader034/viewer/2022051820/55388b0f550346e93a8b47aa/html5/thumbnails/13.jpg)
EXAMPLES
![Page 14: iOS Development Introduction (MuMe11)](https://reader034.fdocuments.us/reader034/viewer/2022051820/55388b0f550346e93a8b47aa/html5/thumbnails/14.jpg)
MOBILE WEB APPLICATIONS
• Language: HTML*, Javascript, CSS
• Frameworks: Sencha Touch, jQueryMobile, ...
• Tools: HTML* editor (DashCode), iOS Simulator, Safari
• Can be displayed in “every” smartphone
* PHP, JSP, ASP, ...
![Page 15: iOS Development Introduction (MuMe11)](https://reader034.fdocuments.us/reader034/viewer/2022051820/55388b0f550346e93a8b47aa/html5/thumbnails/15.jpg)
EXAMPLESiUi: iPhone User Interface Framework
![Page 16: iOS Development Introduction (MuMe11)](https://reader034.fdocuments.us/reader034/viewer/2022051820/55388b0f550346e93a8b47aa/html5/thumbnails/16.jpg)
EXTERNAL PLATFORMS
• PhoneGap, Titanium,...
• requires iPhone SDK
• Language: HTML, Javascript, CSS
![Page 17: iOS Development Introduction (MuMe11)](https://reader034.fdocuments.us/reader034/viewer/2022051820/55388b0f550346e93a8b47aa/html5/thumbnails/17.jpg)
NATIVE APPS DEVELOPMENT:BASICS
![Page 18: iOS Development Introduction (MuMe11)](https://reader034.fdocuments.us/reader034/viewer/2022051820/55388b0f550346e93a8b47aa/html5/thumbnails/18.jpg)
COMPONENTS
• iOS SDK (requires an Intel Mac)
• Frameworks: Foundation, UIKit,...
• MVC
• Language: Objective-C
• Tools: XCode, iOS Simulator, Instruments
• Apple Developer Program
![Page 19: iOS Development Introduction (MuMe11)](https://reader034.fdocuments.us/reader034/viewer/2022051820/55388b0f550346e93a8b47aa/html5/thumbnails/19.jpg)
MVC
StanfordCS193p
Fall 2010
Controller
MVC
Model View
It’s all about managing communication between camps Based on a work at cs193p.stanford.edu
![Page 20: iOS Development Introduction (MuMe11)](https://reader034.fdocuments.us/reader034/viewer/2022051820/55388b0f550346e93a8b47aa/html5/thumbnails/20.jpg)
MVC: CONTROLLER
StanfordCS193p
Fall 2010
Controller
MVC
Model View
outlet
Controllers can also talk directly to their View. Based on a work at cs193p.stanford.edu
![Page 21: iOS Development Introduction (MuMe11)](https://reader034.fdocuments.us/reader034/viewer/2022051820/55388b0f550346e93a8b47aa/html5/thumbnails/21.jpg)
MVC: VIEW
StanfordCS193p
Fall 2010
Controller
MVC
Model View
action
delegateoutlet
data source
should
will did
target
countdataat
No. The Model is (should be) UI independent. Based on a work at cs193p.stanford.edu
![Page 22: iOS Development Introduction (MuMe11)](https://reader034.fdocuments.us/reader034/viewer/2022051820/55388b0f550346e93a8b47aa/html5/thumbnails/22.jpg)
MVC: MODEL
StanfordCS193p
Fall 2010
Controller
MVC
Model View
actionNotification
& KVO
delegateoutlet
data source
should
will did
target
countdataat
Now combine MVC groups to make complicated programs ... Based on a work at cs193p.stanford.edu
![Page 23: iOS Development Introduction (MuMe11)](https://reader034.fdocuments.us/reader034/viewer/2022051820/55388b0f550346e93a8b47aa/html5/thumbnails/23.jpg)
MVCMVCs working together
StanfordCS193p
Fall 2010
Based on a work at cs193p.stanford.edu
![Page 24: iOS Development Introduction (MuMe11)](https://reader034.fdocuments.us/reader034/viewer/2022051820/55388b0f550346e93a8b47aa/html5/thumbnails/24.jpg)
OBJECTIVE-C
.h .m
Interface Implementation
![Page 25: iOS Development Introduction (MuMe11)](https://reader034.fdocuments.us/reader034/viewer/2022051820/55388b0f550346e93a8b47aa/html5/thumbnails/25.jpg)
CLASSES
From: “The Objective-C Programming Language”
![Page 26: iOS Development Introduction (MuMe11)](https://reader034.fdocuments.us/reader034/viewer/2022051820/55388b0f550346e93a8b47aa/html5/thumbnails/26.jpg)
METHODS
[myArray insertObject:anObject atIndex:0]; From: “The Objective-C Programming Language”
![Page 27: iOS Development Introduction (MuMe11)](https://reader034.fdocuments.us/reader034/viewer/2022051820/55388b0f550346e93a8b47aa/html5/thumbnails/27.jpg)
PROPERTIES
@property BOOL flag;
@property (copy) NSString *nameObject;
@synthesize flag;
@synthesize nameObject;
From: “The Objective-C Programming Language”
![Page 28: iOS Development Introduction (MuMe11)](https://reader034.fdocuments.us/reader034/viewer/2022051820/55388b0f550346e93a8b47aa/html5/thumbnails/28.jpg)
HELLO IPHONE!
![Page 29: iOS Development Introduction (MuMe11)](https://reader034.fdocuments.us/reader034/viewer/2022051820/55388b0f550346e93a8b47aa/html5/thumbnails/29.jpg)
HELLO IPHONE!
![Page 30: iOS Development Introduction (MuMe11)](https://reader034.fdocuments.us/reader034/viewer/2022051820/55388b0f550346e93a8b47aa/html5/thumbnails/30.jpg)
HELLO IPHONE MVC
StanfordCS193p
Fall 2010
Controller
MVC
Model View
action
outlet
target
Then hand out an action to the View.
HelloiPhoneViewController
UILabel UIButton
myButtonPushedX UISlider
Based on a work at cs193p.stanford.edu
![Page 31: iOS Development Introduction (MuMe11)](https://reader034.fdocuments.us/reader034/viewer/2022051820/55388b0f550346e93a8b47aa/html5/thumbnails/31.jpg)
HELLO IPHONE!:HANDS-ON
![Page 32: iOS Development Introduction (MuMe11)](https://reader034.fdocuments.us/reader034/viewer/2022051820/55388b0f550346e93a8b47aa/html5/thumbnails/32.jpg)
CALCULATOR• http://bit.ly/iphonecalculator
![Page 33: iOS Development Introduction (MuMe11)](https://reader034.fdocuments.us/reader034/viewer/2022051820/55388b0f550346e93a8b47aa/html5/thumbnails/33.jpg)
MVC
![Page 34: iOS Development Introduction (MuMe11)](https://reader034.fdocuments.us/reader034/viewer/2022051820/55388b0f550346e93a8b47aa/html5/thumbnails/34.jpg)
MAPAPP (MAPKIT)
![Page 35: iOS Development Introduction (MuMe11)](https://reader034.fdocuments.us/reader034/viewer/2022051820/55388b0f550346e93a8b47aa/html5/thumbnails/35.jpg)
EXTRA MATERIAL
• http://developer.apple.com/devcenter/ios/index.action
• WWW
![Page 36: iOS Development Introduction (MuMe11)](https://reader034.fdocuments.us/reader034/viewer/2022051820/55388b0f550346e93a8b47aa/html5/thumbnails/36.jpg)
CODE
• HelloiPhone: http://bit.ly/helloiphonecode
• Calculator : http://bit.ly/mume10calc
• MapApp: http://bit.ly/mume10map
![Page 37: iOS Development Introduction (MuMe11)](https://reader034.fdocuments.us/reader034/viewer/2022051820/55388b0f550346e93a8b47aa/html5/thumbnails/37.jpg)
THANKS!http://bit.ly/gonzalo-parra
QUESTIONS?
![Page 38: iOS Development Introduction (MuMe11)](https://reader034.fdocuments.us/reader034/viewer/2022051820/55388b0f550346e93a8b47aa/html5/thumbnails/38.jpg)
REFERENCES
• CS193P: Developing Applications for iOS, Stanford University: http://cs193p.stanford.edu/
• HelloWorld Tutorial: http://bit.ly/helloiphone
• iPhone Programming Tutorial: http://bit.ly/crwpk0
• The Spoken Word: http://bit.ly/dcMXBK
• The Objective-C Programming Language: http://bit.ly/objcpl