SlideShare une entreprise Scribd logo
1  sur  38
Télécharger pour lire hors ligne
IOS DEVELOPMENT
 INTRODUCTION
    Gonzalo Parra
     #mume11




    October 14, 2011
A smartphone is a mobile phone that
offers more advanced computing
     ability and connectivity than a
      contemporary feature phone.




                                       Source: LP33.TV
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
Sources: http://www.trendbird.co.kr/, iOS Developer Library, http://www.capsulecomputers.com.au
IOS?
• iPod Touch

• iPhone

• iPad
WHAT IS THE IOS?




             Based on a work at cs193p.stanford.edu
iOS
                Core OS
Cocoa Touch
                OSX Kernel Power Management
   Media        Mach 3.0   Keychain Access
                BSD        Certificates
Core Services
                Sockets    File System
  Core OS       Security   Bonjour




                           Based on a work at cs193p.stanford.edu
iOS
                Core Services
Cocoa Touch
                Collections         Core Location
   Media        Address Book Net Services
                Networking          Threading
Core Services
                File Access         Preferences
  Core OS       SQLite              URL Utilities




                              Based on a work at cs193p.stanford.edu
iOS
                Media
Cocoa 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
iOS
                Cocoa Touch
Cocoa Touch
                Multi-Touch            Alerts
   Media        Core Motion            Web View
                View Hierarchy         Map Kit
Core Services
                Localization           Image Picker
  Core OS       Controls               Camera




                               Based on a work at cs193p.stanford.edu
TYPES OF DEVELOPMENT


• Native Apps

• Mobile Web Apps

• External   frameworks
NATIVE APPLICATIONS

• iOS   SDK (requires an Intel Mac)

• Language: Objective-C

• Tools: XCode, iOS   Simulator

• Apple   Developer Program

 • AppStore
EXAMPLES
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, ...
EXAMPLES
iUi: iPhone User Interface Framework
EXTERNAL PLATFORMS


• PhoneGap, Titanium,...

  • requires   iPhone SDK

• Language: HTML, Javascript, CSS
NATIVE APPS DEVELOPMENT:
         BASICS
COMPONENTS
• iOS   SDK (requires an Intel Mac)

 • Frameworks: Foundation, UIKit,...

 • MVC

• Language: Objective-C

• Tools: XCode, iOS   Simulator, Instruments

• Apple   Developer Program
MVC
                     MVC

                    Controller




    Model                                   View


It’s all about managing communication between camps                         St
                                                                             C
                                     Based on a work at cs193p.stanford.edu Fa
MVC: CONTROLLER
                    MVC

                   Controller
                                outlet




 Model                                          View


Controllers can also talk directly to their View.                               St
                                                                                 C
                                         Based on a work at cs193p.stanford.edu Fal
MVC: VIEW
                  MVC
                       should            target
                   will         did

                 Controller
                data
                            count
                                        outlet
                 at

                                da




                                          de
                                  ta




                                             le
                                                g
                                       so




                                                    at
                                          u                          action




                                                      e
                                              rc
                                                e

Model                                                        View


No. The Model is (should be) UI independent.                                                 St
                                                                                              C
                                                      Based on a work at cs193p.stanford.edu Fal
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                                                        View


Now combine MVC groups to make complicated programs ...                                            St
                                                                                                    C
                                                            Based on a work at cs193p.stanford.edu Fal
MVC
MVCs working together




                                            Stanford
                                             CS193p
                                            Fall 2010




                   Based on a work at cs193p.stanford.edu
OBJECTIVE-C


   .h                 .m

Interface      Implementation
CLASSES




          From: “The Objective-C Programming Language”
METHODS




[myArray insertObject:anObject atIndex:0];
                            From: “The Objective-C Programming Language”
PROPERTIES

@property BOOL flag;

@property (copy) NSString *nameObject;



@synthesize flag;

@synthesize nameObject;

                                    From: “The Objective-C Programming Language”
HELLO IPHONE!
HELLO IPHONE!
HELLO IPHONE MVC
                             MVC
HelloiPhoneViewController                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
HELLO IPHONE!:
HANDS-ON
CALCULATOR
• http://bit.ly/iphonecalculator
MVC
MAPAPP (MAPKIT)
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/mume10map
QUESTIONS?




  THANKS!
   http://bit.ly/gonzalo-parra
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

Contenu connexe

Similaire à iOS Development Introduction (MuMe11)

iOS Programming - MCV (Delegate/Protocols/Property&Syntax)
iOS Programming - MCV (Delegate/Protocols/Property&Syntax)iOS Programming - MCV (Delegate/Protocols/Property&Syntax)
iOS Programming - MCV (Delegate/Protocols/Property&Syntax)Oliver Lin
 
Lecture 1 slides
Lecture 1 slidesLecture 1 slides
Lecture 1 slidesamarprabhu
 
Cross Platform Mobile Apps with the Ionic Framework
Cross Platform Mobile Apps with the Ionic FrameworkCross Platform Mobile Apps with the Ionic Framework
Cross Platform Mobile Apps with the Ionic FrameworkTroy Miles
 
Modern ASP.NET Webskills
Modern ASP.NET WebskillsModern ASP.NET Webskills
Modern ASP.NET WebskillsCaleb Jenkins
 
MVC(Model View Controller),Web,Enterprise,Mobile
MVC(Model View Controller),Web,Enterprise,MobileMVC(Model View Controller),Web,Enterprise,Mobile
MVC(Model View Controller),Web,Enterprise,Mobilenaral
 
AOP-IOC made by Vi Quoc Hanh and Vu Cong Thanh in SC Team
AOP-IOC made by Vi Quoc Hanh and Vu Cong Thanh in SC TeamAOP-IOC made by Vi Quoc Hanh and Vu Cong Thanh in SC Team
AOP-IOC made by Vi Quoc Hanh and Vu Cong Thanh in SC TeamThuy_Dang
 
iPhone Programming in 30 minutes (?) [FTS]
iPhone Programming in 30 minutes (?) [FTS]iPhone Programming in 30 minutes (?) [FTS]
iPhone Programming in 30 minutes (?) [FTS]Diego Pizzocaro
 
Intro to c# (vs. objective c and java)
Intro to c# (vs. objective c and java)Intro to c# (vs. objective c and java)
Intro to c# (vs. objective c and java)John Smith
 
Intro to c# (vs. objective c and java)
Intro to c# (vs. objective c and java)Intro to c# (vs. objective c and java)
Intro to c# (vs. objective c and java)Wes Yanaga
 
Intro to Continuous Integration at SoundCloud
Intro to Continuous Integration at SoundCloudIntro to Continuous Integration at SoundCloud
Intro to Continuous Integration at SoundCloudgarriguv
 
Spring Framework
Spring FrameworkSpring Framework
Spring Frameworknomykk
 
I pad uicatalog_lesson02
I pad uicatalog_lesson02I pad uicatalog_lesson02
I pad uicatalog_lesson02Rich Helton
 
Walk in the shoe of angular
Walk in the shoe of angularWalk in the shoe of angular
Walk in the shoe of angularFiyaz Hasan
 

Similaire à iOS Development Introduction (MuMe11) (20)

iOS Programming - MCV (Delegate/Protocols/Property&Syntax)
iOS Programming - MCV (Delegate/Protocols/Property&Syntax)iOS Programming - MCV (Delegate/Protocols/Property&Syntax)
iOS Programming - MCV (Delegate/Protocols/Property&Syntax)
 
Iphone course 3
Iphone course 3Iphone course 3
Iphone course 3
 
Lecture 1
Lecture 1Lecture 1
Lecture 1
 
Introducing spring
Introducing springIntroducing spring
Introducing spring
 
Coca
CocaCoca
Coca
 
Lecture 1 slides
Lecture 1 slidesLecture 1 slides
Lecture 1 slides
 
Cross Platform Mobile Apps with the Ionic Framework
Cross Platform Mobile Apps with the Ionic FrameworkCross Platform Mobile Apps with the Ionic Framework
Cross Platform Mobile Apps with the Ionic Framework
 
Modern ASP.NET Webskills
Modern ASP.NET WebskillsModern ASP.NET Webskills
Modern ASP.NET Webskills
 
MVC(Model View Controller),Web,Enterprise,Mobile
MVC(Model View Controller),Web,Enterprise,MobileMVC(Model View Controller),Web,Enterprise,Mobile
MVC(Model View Controller),Web,Enterprise,Mobile
 
AOP-IOC made by Vi Quoc Hanh and Vu Cong Thanh in SC Team
AOP-IOC made by Vi Quoc Hanh and Vu Cong Thanh in SC TeamAOP-IOC made by Vi Quoc Hanh and Vu Cong Thanh in SC Team
AOP-IOC made by Vi Quoc Hanh and Vu Cong Thanh in SC Team
 
iPhone Programming in 30 minutes (?) [FTS]
iPhone Programming in 30 minutes (?) [FTS]iPhone Programming in 30 minutes (?) [FTS]
iPhone Programming in 30 minutes (?) [FTS]
 
mekentosj.com - building Papers
mekentosj.com - building Papersmekentosj.com - building Papers
mekentosj.com - building Papers
 
Confluence
ConfluenceConfluence
Confluence
 
Intro to c# (vs. objective c and java)
Intro to c# (vs. objective c and java)Intro to c# (vs. objective c and java)
Intro to c# (vs. objective c and java)
 
Intro to c# (vs. objective c and java)
Intro to c# (vs. objective c and java)Intro to c# (vs. objective c and java)
Intro to c# (vs. objective c and java)
 
Intro to Continuous Integration at SoundCloud
Intro to Continuous Integration at SoundCloudIntro to Continuous Integration at SoundCloud
Intro to Continuous Integration at SoundCloud
 
Spring Framework
Spring FrameworkSpring Framework
Spring Framework
 
I pad uicatalog_lesson02
I pad uicatalog_lesson02I pad uicatalog_lesson02
I pad uicatalog_lesson02
 
Portfolio
PortfolioPortfolio
Portfolio
 
Walk in the shoe of angular
Walk in the shoe of angularWalk in the shoe of angular
Walk in the shoe of angular
 

Plus de Gonzalo Parra

iOS Development Introduction
iOS Development IntroductioniOS Development Introduction
iOS Development IntroductionGonzalo Parra
 
More! A Social Discovery Tool for Researchers
More! A Social Discovery Tool for ResearchersMore! A Social Discovery Tool for Researchers
More! A Social Discovery Tool for ResearchersGonzalo Parra
 
ARIADNE LOM Application Profile
ARIADNE LOM Application ProfileARIADNE LOM Application Profile
ARIADNE LOM Application ProfileGonzalo Parra
 
Iphone Presentation for MuMe09
Iphone Presentation for MuMe09Iphone Presentation for MuMe09
Iphone Presentation for MuMe09Gonzalo Parra
 

Plus de Gonzalo Parra (8)

TiNYARM @ MATEL WS
TiNYARM @ MATEL WSTiNYARM @ MATEL WS
TiNYARM @ MATEL WS
 
iOS Development Introduction
iOS Development IntroductioniOS Development Introduction
iOS Development Introduction
 
More! @ EC-TEL
More! @ EC-TELMore! @ EC-TEL
More! @ EC-TEL
 
Research2.0
Research2.0Research2.0
Research2.0
 
More! A Social Discovery Tool for Researchers
More! A Social Discovery Tool for ResearchersMore! A Social Discovery Tool for Researchers
More! A Social Discovery Tool for Researchers
 
MACE
MACEMACE
MACE
 
ARIADNE LOM Application Profile
ARIADNE LOM Application ProfileARIADNE LOM Application Profile
ARIADNE LOM Application Profile
 
Iphone Presentation for MuMe09
Iphone Presentation for MuMe09Iphone Presentation for MuMe09
Iphone Presentation for MuMe09
 

Dernier

Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 

Dernier (20)

Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 

iOS Development Introduction (MuMe11)

  • 1. IOS DEVELOPMENT INTRODUCTION Gonzalo Parra #mume11 October 14, 2011
  • 2. A smartphone is a mobile phone that offers more advanced computing ability and connectivity than a contemporary feature phone. Source: LP33.TV
  • 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. Sources: http://www.trendbird.co.kr/, iOS Developer Library, http://www.capsulecomputers.com.au
  • 5. IOS? • iPod Touch • iPhone • iPad
  • 6. WHAT IS THE IOS? Based on a work at cs193p.stanford.edu
  • 7. iOS Core OS Cocoa Touch OSX Kernel Power Management Media Mach 3.0 Keychain Access BSD Certificates Core Services Sockets File System Core OS Security Bonjour Based on a work at cs193p.stanford.edu
  • 8. iOS Core Services Cocoa Touch Collections Core Location Media Address Book Net Services Networking Threading Core Services File Access Preferences Core OS SQLite URL Utilities Based on a work at cs193p.stanford.edu
  • 9. iOS Media Cocoa 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
  • 10. iOS Cocoa Touch Cocoa Touch Multi-Touch Alerts Media Core Motion Web View View Hierarchy Map Kit Core Services Localization Image Picker Core OS Controls Camera Based on a work at cs193p.stanford.edu
  • 11. TYPES OF DEVELOPMENT • Native Apps • Mobile Web Apps • External frameworks
  • 12. NATIVE APPLICATIONS • iOS SDK (requires an Intel Mac) • Language: Objective-C • Tools: XCode, iOS Simulator • Apple Developer Program • AppStore
  • 14. 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, ...
  • 15. EXAMPLES iUi: iPhone User Interface Framework
  • 16. EXTERNAL PLATFORMS • PhoneGap, Titanium,... • requires iPhone SDK • Language: HTML, Javascript, CSS
  • 18. COMPONENTS • iOS SDK (requires an Intel Mac) • Frameworks: Foundation, UIKit,... • MVC • Language: Objective-C • Tools: XCode, iOS Simulator, Instruments • Apple Developer Program
  • 19. MVC MVC Controller Model View It’s all about managing communication between camps St C Based on a work at cs193p.stanford.edu Fa
  • 20. MVC: CONTROLLER MVC Controller outlet Model View Controllers can also talk directly to their View. St C Based on a work at cs193p.stanford.edu Fal
  • 21. MVC: VIEW MVC should target will did Controller data count outlet at da de ta le g so at u action e rc e Model View No. The Model is (should be) UI independent. St C Based on a work at cs193p.stanford.edu Fal
  • 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 View Now combine MVC groups to make complicated programs ... St C Based on a work at cs193p.stanford.edu Fal
  • 23. MVC MVCs working together Stanford CS193p Fall 2010 Based on a work at cs193p.stanford.edu
  • 24. OBJECTIVE-C .h .m Interface Implementation
  • 25. CLASSES From: “The Objective-C Programming Language”
  • 26. METHODS [myArray insertObject:anObject atIndex:0]; From: “The Objective-C Programming Language”
  • 27. PROPERTIES @property BOOL flag; @property (copy) NSString *nameObject; @synthesize flag; @synthesize nameObject; From: “The Objective-C Programming Language”
  • 30. HELLO IPHONE MVC MVC HelloiPhoneViewController 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
  • 33. MVC
  • 36. CODE • HelloiPhone: http://bit.ly/helloiphonecode • Calculator: http://bit.ly/mume10calc • MapApp: http://bit.ly/mume10map
  • 37. QUESTIONS? THANKS! http://bit.ly/gonzalo-parra
  • 38. 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