IOS DEVELOPMENT INTRODUCTION    Gonzalo Parra     #mume12     October 5, 2012
A smartphone is a mobile phone thatoffers more advanced computing     ability and connectivity than a      contemporary fe...
WHAT IS THE IPHONE?• accelerometer• Three-axis    gyro• Assisted   GPS• Digital   compass• multi-touch    display• sensors...
IOS?• iPod Touch• iPhone• iPad
WHAT IS THE IOS?             Based on a work at cs193p.stanford.edu
iOS                Core OSCocoa Touch                OSX Kernel Power Management   Media        Mach 3.0   Keychain Access...
iOS                Core ServicesCocoa Touch                Collections         Core Location   Media        Address Book N...
iOS                MediaCocoa Touch                Core Audio           JPEG, PNG, TIFF   Media        OpenAL             ...
iOS                Cocoa TouchCocoa Touch                Multi-Touch            Alerts   Media        Core Motion         ...
TYPES OF DEVELOPMENT• Native Apps• Mobile Web Apps• External   frameworks
NATIVE APPLICATIONS• iOS   SDK (requires an Intel Mac)• Language: Objective-C• Tools: XCode• Apple   Developer Program • A...
EXAMPLES
MOBILE WEB APPLICATIONS• Language: HTML*, Javascript, CSS     • Frameworks: Sencha Touch, jQueryMobile, ...• Tools: HTML* ...
EXAMPLESiUi: iPhone User Interface Framework
EXTERNAL PLATFORMS• PhoneGap, Titanium,...  • requires   iOS SDK• Language: HTML, Javascript, CSS
NATIVE APPS DEVELOPMENT:         BASICS
COMPONENTS• iOS   SDK (requires an Intel Mac) • Frameworks: Foundation, UIKit, Core   Data, Core ... • Design   strategy: ...
MVCModel View Controller
MVC                     MVC                    Controller    Model                                   ViewIt’s all about ma...
MVC: CONTROLLER                    MVC                   Controller                                outlet Model           ...
MVC: VIEW                  MVC                       should            target                   will         did          ...
MVC: MODEL                        MVC                             should            target                         will   ...
MVCMVCs working together                                            Stanford                                             C...
OBJECTIVE-C
OBJECTIVE-C   .h                 .mInterface     Implementation
CLASSES          From: “The Objective-C Programming Language”
METHODS[myArray insertObject:anObject atIndex:0];                            From: “The Objective-C Programming Language”
PROPERTIES     @property BOOL flag;.h   @property (nonatomic) NSString *nameObject;     @synthesize flag = _flag;.m   @synthe...
HELLO IPHONE!
HELLO IPHONE!
HELLO IPHONE MVC                             MVCHelloiPhoneViewController                target                           ...
HELLO IPHONE!:HANDS-ON
CALCULATORhttp://bit.ly/iphonecalculator
MVC
EXTRA MATERIAL• http://developer.apple.com/devcenter/ios/index.action• WWW
CODE•   HelloiPhone: http://bit.ly/helloiphonecode•   Calculator: http://bit.ly/mume10calc•   MapApp: http://bit.ly/mume10...
QUESTIONS?  THANKS!   @gaposx
REFERENCES•   CS193P: Developing Applications for iOS, Stanford    University: http://cs193p.stanford.edu/•   HelloWorld T...
Upcoming SlideShare
Loading in...5
×

iOS Dev Intro

522

Published on

iOS intro for the Multimedia course at KU Leuven

0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
522
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
8
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

iOS Dev Intro

  1. 1. IOS DEVELOPMENT INTRODUCTION Gonzalo Parra #mume12 October 5, 2012
  2. 2. A smartphone is a mobile phone thatoffers more advanced computing ability and connectivity than a contemporary feature phone. Source: LP33.TV
  3. 3. 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
  4. 4. IOS?• iPod Touch• iPhone• iPad
  5. 5. WHAT IS THE IOS? Based on a work at cs193p.stanford.edu
  6. 6. iOS Core OSCocoa Touch OSX Kernel Power Management Media Mach 3.0 Keychain Access BSD CertificatesCore Services Sockets File System Core OS Security Bonjour Based on a work at cs193p.stanford.edu
  7. 7. iOS Core ServicesCocoa Touch Collections Core Location Media Address Book Net Services Networking ThreadingCore Services File Access Preferences Core OS SQLite URL Utilities Based on a work at cs193p.stanford.edu
  8. 8. iOS MediaCocoa Touch Core Audio JPEG, PNG, TIFF Media OpenAL PDF Audio Mixing Quartz (2D)Core Services Audio Recording Core Animation Core OS Video Playback OpenGL ES Based on a work at cs193p.stanford.edu
  9. 9. iOS Cocoa TouchCocoa Touch Multi-Touch Alerts Media Core Motion Web View View Hierarchy Map KitCore Services Localization Image Picker Core OS Controls Camera Based on a work at cs193p.stanford.edu
  10. 10. TYPES OF DEVELOPMENT• Native Apps• Mobile Web Apps• External frameworks
  11. 11. NATIVE APPLICATIONS• iOS SDK (requires an Intel Mac)• Language: Objective-C• Tools: XCode• Apple Developer Program • AppStore
  12. 12. EXAMPLES
  13. 13. MOBILE WEB APPLICATIONS• Language: HTML*, Javascript, CSS • Frameworks: Sencha Touch, jQueryMobile, ...• Tools: HTML* editor (DashCode), Safari• Can be displayed in “every” smartphone * PHP, JSP, ASP, ...
  14. 14. EXAMPLESiUi: iPhone User Interface Framework
  15. 15. EXTERNAL PLATFORMS• PhoneGap, Titanium,... • requires iOS SDK• Language: HTML, Javascript, CSS
  16. 16. NATIVE APPS DEVELOPMENT: BASICS
  17. 17. COMPONENTS• iOS SDK (requires an Intel Mac) • Frameworks: Foundation, UIKit, Core Data, Core ... • Design strategy: MVC• Language: Objective-C• Tools: XCode (iOS Simulator), Instruments• Apple Developer Program
  18. 18. MVCModel View Controller
  19. 19. MVC MVC Controller Model ViewIt’s all about managing communication between camps St C Based on a work at cs193p.stanford.edu Fa
  20. 20. MVC: CONTROLLER MVC Controller outlet Model ViewControllers can also talk directly to their View. St C Based on a work at cs193p.stanford.edu Fal
  21. 21. MVC: VIEW MVC should target will did Controller data count outlet at da de ta le g so at u action e rc eModel ViewNo. The Model is (should be) UI independent. St C Based on a work at cs193p.stanford.edu Fal
  22. 22. MVC: MODEL MVC should target will did Controller data count outlet at da de Notification ta le & KVO g so at u action e rc e Model ViewNow combine MVC groups to make complicated programs ... St C Based on a work at cs193p.stanford.edu Fal
  23. 23. MVCMVCs working together Stanford CS193p Fall 2010 Based on a work at cs193p.stanford.edu
  24. 24. OBJECTIVE-C
  25. 25. OBJECTIVE-C .h .mInterface Implementation
  26. 26. CLASSES From: “The Objective-C Programming Language”
  27. 27. METHODS[myArray insertObject:anObject atIndex:0]; From: “The Objective-C Programming Language”
  28. 28. PROPERTIES @property BOOL flag;.h @property (nonatomic) NSString *nameObject; @synthesize flag = _flag;.m @synthesize nameObject = _nameObject; From: “The Objective-C Programming Language”
  29. 29. HELLO IPHONE!
  30. 30. HELLO IPHONE!
  31. 31. HELLO IPHONE MVC MVCHelloiPhoneViewController target Controller outlet X action myButtonPushed Model View UISlider UILabel UIButton Then hand out an action to the View. Sta CS Based on a work at cs193p.stanford.edu Fall
  32. 32. HELLO IPHONE!:HANDS-ON
  33. 33. CALCULATORhttp://bit.ly/iphonecalculator
  34. 34. MVC
  35. 35. EXTRA MATERIAL• http://developer.apple.com/devcenter/ios/index.action• WWW
  36. 36. CODE• HelloiPhone: http://bit.ly/helloiphonecode• Calculator: http://bit.ly/mume10calc• MapApp: http://bit.ly/mume10map
  37. 37. QUESTIONS? THANKS! @gaposx
  38. 38. REFERENCES• CS193P: Developing Applications for iOS, Stanford University: http://cs193p.stanford.edu/• HelloWorld Tutorial: http://bit.ly/helloiphone• iPhone Programming Tutorials: http://bit.ly/crwpk0• Learning Objective-C: A Primer: http://bit.ly/objcpl
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×