iOS Dev Intro

756 views
656 views

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
756
On SlideShare
0
From Embeds
0
Number of Embeds
8
Actions
Shares
0
Downloads
10
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

×