SlideShare uma empresa Scribd logo
1 de 74
Baixar para ler offline
Presented by Vu Tran Lam
Introduction to
iPhone Programming
Thursday, March 21, 13
The Beginning of Apple’s Story
From This Man...
Thursday, March 21, 13
...in 1980 Steve Jobs Recounted
The Following Story...
a few years before the Macintosh…
Thursday, March 21, 13
released 1984
...and That’s Exactly What We’re Doing Here
Thursday, March 21, 13
The Computer Was Just
The Beginning...
Thursday, March 21, 13
6
Steve Timeline...
Thursday, March 21, 13
Steve Timeline...
Thursday, March 21, 13
8
Steve Timeline...
Thursday, March 21, 13
Steve timeline...Steve Timeline...
Thursday, March 21, 13
To Be Continue...
Thursday, March 21, 13
Thursday, March 21, 13
welcome to the future
Thursday, March 21, 13
Yesterday
“Go to the computer”
to use the web/Internet
Thursday, March 21, 13
Yesterday
“Go to the computer”
to use the web/Internet
Today
“Use the mobile”
to use the web/Internet
Thursday, March 21, 13
Thursday, March 21, 13
...in The Old Days
Thursday, March 21, 13
...in The Old Days
Thursday, March 21, 13
...in The Old Days
Thursday, March 21, 13
...in The Old Days
Thursday, March 21, 13
Mobile Development...
Thursday, March 21, 13
iOS Developers
Mobile Development...
Thursday, March 21, 13
...Develop Mobile App
IMPOSSIBLE
Thursday, March 21, 13
iPhone app development
Really Bloody Difficult...
This Technique is
Thursday, March 21, 13
23
Ways...?
Thursday, March 21, 13
24
...Ask Guru?
Thursday, March 21, 13
Apple Developer Center
Thursday, March 21, 13
Thursday, March 21, 13
Mac OS X
Thursday, March 21, 13
Unix History
Thursday, March 21, 13
Apple OS History
Thursday, March 21, 13
• Mac OS X is the first real replacement for the older Mac
OS, based on the OPENSTEP (NEXTSTEP) from NeXT.
• NeXT Computer Inc. is named the company that was set
up by Steve Jobs in 1985 is taken by Apple completely
for 400 million dollars in 1997.
Mac OS X History
Thursday, March 21, 13
Mac OS X Family
10.6 10.7 10.8
Thursday, March 21, 13
Mac OS X Architecture
Thursday, March 21, 13
Mac OS X Architecture
Thursday, March 21, 13
Mac OS X Architecture
Thursday, March 21, 13
Mac OS X Architecture
Thursday, March 21, 13
Mac OS X Architecture
Thursday, March 21, 13
Mac OS X Architecture
Thursday, March 21, 13
Mac OS X Architecture
Thursday, March 21, 13
With easy-to-use interface, amazing features, and rock-solid stability,
iOS is the foundation of iPhone, iPad, and iPod touch.
Thursday, March 21, 13
iOS Architecture
Thursday, March 21, 13
iOS Family
Thursday, March 21, 13
iOS Architecture
Thursday, March 21, 13
Cocoa Fundamentals
Thursday, March 21, 13
• Cocoa is an application environment for both the OS X
and iOS, the operating system used on Multi-Touch
devices such as iPhone, iPad, and iPod touch.
• Cocoa consists of a suite of object-oriented software
libraries, a runtime system, and an integrated
development environment.
What is Cocoa?
Thursday, March 21, 13
• Two core Objective-C frameworks:
• AppKit: provides the user interface objects and defines the
structure for application behavior, including event handling
and drawing
• Foundation: defines the basic behavior of objects, establishes
mechanisms to manage and provide objects for primitive data
types, collections, and operating-system services
How Cocoa Fits into OS X?
Thursday, March 21, 13
• Application framework layer of iOS is called Cocoa Touch.
• Cocoa Touch frameworks that drive iOS apps share many
proven patterns found on Mac OS, but it has special focus
on touch-based interfaces and optimization.
• UIKit provides the basic tools you need to implement
graphical, event-driven applications in iOS.
• UIKit builds on the same Foundation framework
infrastructure found on the Mac OS X, including file
handling, networking, string building, and more.
How Cocoa Fits into iOS?
Thursday, March 21, 13
• General migration notes
• Migrating your data model
• Migrating your user interface
• Memory management
• Framework differences
• UIKit versus AppKit
• Foundation framework differences
• Changes to other frameworks
Migrating from Cocoa to Cocoa Touch
Thursday, March 21, 13
• Provides the classes
needed to construct
and manage GUI for iOS
• Provides an application
object, event handling,
drawing model,
windows, views, and
controls specifically
designed for a touch
screen interface
UIKit Framework
Thursday, March 21, 13
• Define a base layer of Objective-C
classes
• Provide a small set of basic utility
classes
• Make software development easier
by introducing consistent
conventions for things such as
deallocation
• Support Unicode strings, object
persistence, and object
distribution.
• Provide a level of OS independence,
to enhance portability.
Foundation Framework
Thursday, March 21, 13
iOS Developer Tools
Thursday, March 21, 13
Xcode
Xcode is the complete toolset for building
OS X and iOS applications. Xcode 4 has been
redesigned to be faster and easier to use.
Thursday, March 21, 13
iOS SDK
The iOS Simulator runs your application
in much the same way as an actual iOS
device.
iOS 6 SDK provides support for developing
iOS apps, and it includes the complete set
of Xcode tools, compilers, and frameworks
for creating apps for iOS and OS X.
Thursday, March 21, 13
iOS Simulator
Thursday, March 21, 13
Instruments
To ensure that you deliver the best user
experience, the Instruments lets you analyze
the performance of your iOS applications while
running in Simulator or on a device.
Thursday, March 21, 13
Thursday, March 21, 13
Thursday, March 21, 13
Thursday, March 21, 13
Thursday, March 21, 13
Thursday, March 21, 13
Thursday, March 21, 13
Thursday, March 21, 13
Thursday, March 21, 13
Thursday, March 21, 13
64
Thursday, March 21, 13
Thursday, March 21, 13
Setup Windows Environment
Thursday, March 21, 13
CPU: Core i5
RAM: 4GB
OS: Windows 7
HDD: Free 20GB
Setup Windows Environment
Install VMware Workstation 8 to
create a virtual machine, and perform
common virtual machine operations
Install OS X Mountain Lion on
VMware Workstation 8 to deploy iOS
development environment
Thursday, March 21, 13
Start Your First iPhone App
Thursday, March 21, 13
Thursday, March 21, 13
Thursday, March 21, 13
Next...
Thursday, March 21, 13
Objective-C...
Thursday, March 21, 13
many thanks
to
Thank you
lamvt@fpt.com.vn
please
say
Stanford University
https://developer.apple.com
Developer Center
http://www.stanford.edu/class/cs193p
xin
chào
References
http://az4you.wordpress.com
https://www.slideshare.net/vutlam9083/introduction-to-iphone-
programming/
Thursday, March 21, 13

Mais conteúdo relacionado

Mais procurados (10)

Mac OS(Operating System)
Mac OS(Operating System)Mac OS(Operating System)
Mac OS(Operating System)
 
Mac Os ( Pratik Negi)
Mac Os ( Pratik Negi)Mac Os ( Pratik Negi)
Mac Os ( Pratik Negi)
 
MacOS Presentation
MacOS PresentationMacOS Presentation
MacOS Presentation
 
Introductory Mac OS X
Introductory Mac OS XIntroductory Mac OS X
Introductory Mac OS X
 
Mac_os_final_piyush
Mac_os_final_piyushMac_os_final_piyush
Mac_os_final_piyush
 
Inside the Mac OS X Kernel
Inside the Mac OS X KernelInside the Mac OS X Kernel
Inside the Mac OS X Kernel
 
Beginning Mac Os X
Beginning Mac Os XBeginning Mac Os X
Beginning Mac Os X
 
Operating Systems: What happen in 2016?
Operating Systems: What happen in 2016?Operating Systems: What happen in 2016?
Operating Systems: What happen in 2016?
 
microsoft
microsoftmicrosoft
microsoft
 
Intro to Mac OSX
Intro to Mac OSXIntro to Mac OSX
Intro to Mac OSX
 

Destaque

Session 4 - Object oriented programming with Objective-C (part 2)
Session 4  - Object oriented programming with Objective-C (part 2)Session 4  - Object oriented programming with Objective-C (part 2)
Session 4 - Object oriented programming with Objective-C (part 2)
Vu Tran Lam
 
Session 16 - Designing universal interface which used for iPad and iPhone
Session 16  -  Designing universal interface which used for iPad and iPhoneSession 16  -  Designing universal interface which used for iPad and iPhone
Session 16 - Designing universal interface which used for iPad and iPhone
Vu Tran Lam
 
3D & Animation Effects Using CSS3 & jQuery
3D & Animation Effects Using CSS3 & jQuery3D & Animation Effects Using CSS3 & jQuery
3D & Animation Effects Using CSS3 & jQuery
Vu Tran Lam
 
Session 3 - Object oriented programming with Objective-C (part 1)
Session 3 - Object oriented programming with Objective-C (part 1)Session 3 - Object oriented programming with Objective-C (part 1)
Session 3 - Object oriented programming with Objective-C (part 1)
Vu Tran Lam
 
Session 12 - Overview of taps, multitouch, and gestures
Session 12 - Overview of taps, multitouch, and gestures Session 12 - Overview of taps, multitouch, and gestures
Session 12 - Overview of taps, multitouch, and gestures
Vu Tran Lam
 
Session 13 - Working with navigation and tab bar
Session 13 - Working with navigation and tab barSession 13 - Working with navigation and tab bar
Session 13 - Working with navigation and tab bar
Vu Tran Lam
 
Session 14 - Working with table view and search bar
Session 14 - Working with table view and search barSession 14 - Working with table view and search bar
Session 14 - Working with table view and search bar
Vu Tran Lam
 
Session 5 - Foundation framework
Session 5 - Foundation frameworkSession 5 - Foundation framework
Session 5 - Foundation framework
Vu Tran Lam
 
130522 book study-사례로보는ux디자인
130522 book study-사례로보는ux디자인130522 book study-사례로보는ux디자인
130522 book study-사례로보는ux디자인
정인 주
 
Session 8 - Xcode 5 and interface builder for iOS 7 application
Session 8 - Xcode 5 and interface builder for iOS 7 applicationSession 8 - Xcode 5 and interface builder for iOS 7 application
Session 8 - Xcode 5 and interface builder for iOS 7 application
Vu Tran Lam
 
서비스디자인, 경험 경제를 디자인하다 - K디자인 2014년 가을호 서비스디자인 특집
서비스디자인, 경험 경제를 디자인하다 - K디자인 2014년 가을호 서비스디자인 특집서비스디자인, 경험 경제를 디자인하다 - K디자인 2014년 가을호 서비스디자인 특집
서비스디자인, 경험 경제를 디자인하다 - K디자인 2014년 가을호 서비스디자인 특집
한국디자인진흥원 공공서비스디자인PD
 
Session 7 - Overview of the iOS7 app development architecture
Session 7 - Overview of the iOS7 app development architectureSession 7 - Overview of the iOS7 app development architecture
Session 7 - Overview of the iOS7 app development architecture
Vu Tran Lam
 

Destaque (20)

HTML5 Web Standards
HTML5 Web StandardsHTML5 Web Standards
HTML5 Web Standards
 
Responsive Web Design
Responsive Web DesignResponsive Web Design
Responsive Web Design
 
Building a Completed iPhone App
Building a Completed iPhone AppBuilding a Completed iPhone App
Building a Completed iPhone App
 
Session 15 - Working with Image, Scroll, Collection, Picker, and Web View
Session 15  - Working with Image, Scroll, Collection, Picker, and Web ViewSession 15  - Working with Image, Scroll, Collection, Picker, and Web View
Session 15 - Working with Image, Scroll, Collection, Picker, and Web View
 
Session 4 - Object oriented programming with Objective-C (part 2)
Session 4  - Object oriented programming with Objective-C (part 2)Session 4  - Object oriented programming with Objective-C (part 2)
Session 4 - Object oriented programming with Objective-C (part 2)
 
Succeed in Mobile career
Succeed in Mobile careerSucceed in Mobile career
Succeed in Mobile career
 
Session 16 - Designing universal interface which used for iPad and iPhone
Session 16  -  Designing universal interface which used for iPad and iPhoneSession 16  -  Designing universal interface which used for iPad and iPhone
Session 16 - Designing universal interface which used for iPad and iPhone
 
Introduction to MVC in iPhone Development
Introduction to MVC in iPhone DevelopmentIntroduction to MVC in iPhone Development
Introduction to MVC in iPhone Development
 
3D & Animation Effects Using CSS3 & jQuery
3D & Animation Effects Using CSS3 & jQuery3D & Animation Effects Using CSS3 & jQuery
3D & Animation Effects Using CSS3 & jQuery
 
Session 3 - Object oriented programming with Objective-C (part 1)
Session 3 - Object oriented programming with Objective-C (part 1)Session 3 - Object oriented programming with Objective-C (part 1)
Session 3 - Object oriented programming with Objective-C (part 1)
 
Session 12 - Overview of taps, multitouch, and gestures
Session 12 - Overview of taps, multitouch, and gestures Session 12 - Overview of taps, multitouch, and gestures
Session 12 - Overview of taps, multitouch, and gestures
 
Session 13 - Working with navigation and tab bar
Session 13 - Working with navigation and tab barSession 13 - Working with navigation and tab bar
Session 13 - Working with navigation and tab bar
 
Session 14 - Working with table view and search bar
Session 14 - Working with table view and search barSession 14 - Working with table view and search bar
Session 14 - Working with table view and search bar
 
Session 5 - Foundation framework
Session 5 - Foundation frameworkSession 5 - Foundation framework
Session 5 - Foundation framework
 
130522 book study-사례로보는ux디자인
130522 book study-사례로보는ux디자인130522 book study-사례로보는ux디자인
130522 book study-사례로보는ux디자인
 
Session 8 - Xcode 5 and interface builder for iOS 7 application
Session 8 - Xcode 5 and interface builder for iOS 7 applicationSession 8 - Xcode 5 and interface builder for iOS 7 application
Session 8 - Xcode 5 and interface builder for iOS 7 application
 
서비스디자인, 경험 경제를 디자인하다 - K디자인 2014년 가을호 서비스디자인 특집
서비스디자인, 경험 경제를 디자인하다 - K디자인 2014년 가을호 서비스디자인 특집서비스디자인, 경험 경제를 디자인하다 - K디자인 2014년 가을호 서비스디자인 특집
서비스디자인, 경험 경제를 디자인하다 - K디자인 2014년 가을호 서비스디자인 특집
 
Session 7 - Overview of the iOS7 app development architecture
Session 7 - Overview of the iOS7 app development architectureSession 7 - Overview of the iOS7 app development architecture
Session 7 - Overview of the iOS7 app development architecture
 
Some Dos and Don’ts in UI/UX Design of Mobile Applications
Some Dos and Don’ts in UI/UX Design of Mobile ApplicationsSome Dos and Don’ts in UI/UX Design of Mobile Applications
Some Dos and Don’ts in UI/UX Design of Mobile Applications
 
Session 1 - Introduction to iOS 7 and SDK
Session 1 -  Introduction to iOS 7 and SDKSession 1 -  Introduction to iOS 7 and SDK
Session 1 - Introduction to iOS 7 and SDK
 

Semelhante a Introduction to iPhone Programming

Operating System Mac OS X
Operating System Mac OS XOperating System Mac OS X
Operating System Mac OS X
mirazhosain
 
Mocrosoft project.
Mocrosoft project.Mocrosoft project.
Mocrosoft project.
Neha Shah
 
The operating system pres jay
The operating system pres jayThe operating system pres jay
The operating system pres jay
JHUSSAIN1702
 
Mac OS Seminar report
Mac OS Seminar reportMac OS Seminar report
Mac OS Seminar report
Karthik Kumar
 

Semelhante a Introduction to iPhone Programming (20)

Operating System Mac OS X
Operating System Mac OS XOperating System Mac OS X
Operating System Mac OS X
 
mackintosh operating system
mackintosh operating systemmackintosh operating system
mackintosh operating system
 
Difference between Mac and Window
Difference between Mac and WindowDifference between Mac and Window
Difference between Mac and Window
 
Mac OS
Mac OSMac OS
Mac OS
 
Mayur rawat
Mayur rawatMayur rawat
Mayur rawat
 
Os
OsOs
Os
 
Apple's ios
Apple's iosApple's ios
Apple's ios
 
Windows vs mac os
Windows vs mac osWindows vs mac os
Windows vs mac os
 
Os ppt full content
Os ppt full contentOs ppt full content
Os ppt full content
 
Mocrosoft project.
Mocrosoft project.Mocrosoft project.
Mocrosoft project.
 
00 intro ios
00 intro ios00 intro ios
00 intro ios
 
Apple iOS
Apple iOSApple iOS
Apple iOS
 
Hacking the Kinect with GAFFTA Day 4
Hacking the Kinect with GAFFTA Day 4Hacking the Kinect with GAFFTA Day 4
Hacking the Kinect with GAFFTA Day 4
 
macOS app development for iOS devs: expand your horizons
macOS app development for iOS devs: expand your horizonsmacOS app development for iOS devs: expand your horizons
macOS app development for iOS devs: expand your horizons
 
Operating Systems: A History of MacOS
Operating Systems: A History of MacOSOperating Systems: A History of MacOS
Operating Systems: A History of MacOS
 
The operating system pres jay
The operating system pres jayThe operating system pres jay
The operating system pres jay
 
Mac OS Seminar report
Mac OS Seminar reportMac OS Seminar report
Mac OS Seminar report
 
Macintosh OS
Macintosh OSMacintosh OS
Macintosh OS
 
Your GUIDE TO Windows 8 !!
Your GUIDE TO Windows 8 !!Your GUIDE TO Windows 8 !!
Your GUIDE TO Windows 8 !!
 
Pc versus Mac1
Pc versus Mac1Pc versus Mac1
Pc versus Mac1
 

Último

Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 

Último (20)

Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
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
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdf
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
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
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 

Introduction to iPhone Programming