3. Why all the excitement?
• Compelling, stylish products built on multi-
touch interface
• iPod Touch
• iPhone
• iPad
4. Why all the excitement?
• Compelling, stylish products built on multi-
touch interface
• iPod Touch
• iPhone
• iPad
• Applications marketplace (AppStore)
5. Why all the excitement?
• Compelling, stylish products built on multi-
touch interface
• iPod Touch
• iPhone
• iPad
• Applications marketplace (AppStore)
• Developer tools and community
8. iPhone Strengths
• iPhone OS as a platform
• Complete hardware and software product
offering
• Apple A4 chip design
9. iPhone Strengths
• iPhone OS as a platform
• Complete hardware and software product
offering
• Apple A4 chip design
• Thriving development community
10. iPhone Strengths
• iPhone OS as a platform
• Complete hardware and software product
offering
• Apple A4 chip design
• Thriving development community
• Blossoming applications marketplace
11. iPhone Strengths
• iPhone OS as a platform
• Complete hardware and software product
offering
• Apple A4 chip design
• Thriving development community
• Blossoming applications marketplace
• Cult-like brand loyalty
19. iPhone Opportunities
• Expansion of iPhone/iPad to multiple cellular
networks
• Captivated development community
• Captivated gaming community
20. iPhone Opportunities
• Expansion of iPhone/iPad to multiple cellular
networks
• Captivated development community
• Captivated gaming community
• Extensibility of the device through External
Accessory framework
28. iPhone SDK
Key Features
• Tools to design, build, test, and deploy
• Powerful, full-featured APIs
29. iPhone SDK
Key Features
• Tools to design, build, test, and deploy
• Powerful, full-featured APIs
• Consistent
• Greatly aides in learning iPhone development
30. iPhone SDK
Key Features
• Tools to design, build, test, and deploy
• Powerful, full-featured APIs
• Consistent
• Greatly aides in learning iPhone development
• Leverages hardware capabilities of device
31. iPhone SDK
Key Features
• Tools to design, build, test, and deploy
• Powerful, full-featured APIs
• Consistent
• Greatly aides in learning iPhone development
• Leverages hardware capabilities of device
• Written in Objective-C
• Lower-level frameworks in standard C
34. Objective-C
The old new hotness
• Strict superset of ANSI C
• Object-oriented extensions
• Additional syntax and types
35. Objective-C
The old new hotness
• Strict superset of ANSI C
• Object-oriented extensions
• Additional syntax and types
• Native iPhone SDK language
36. Objective-C
The old new hotness
• Strict superset of ANSI C
• Object-oriented extensions
• Additional syntax and types
• Native iPhone SDK language
• Flexible typing
37. Objective-C
The old new hotness
• Strict superset of ANSI C
• Object-oriented extensions
• Additional syntax and types
• Native iPhone SDK language
• Flexible typing
• Simple, expressive syntax
38. Objective-C
The old new hotness
• Strict superset of ANSI C
• Object-oriented extensions
• Additional syntax and types
• Native iPhone SDK language
• Flexible typing
• Simple, expressive syntax
• Dynamic runtime
39. Objective-C
The old new hotness
• Strict superset of ANSI C
• Object-oriented extensions
• Additional syntax and types
• Native iPhone SDK language
• Flexible typing
• Simple, expressive syntax
• Dynamic runtime
• Reference counting for memory
management
54. Cocoa Touch
UIKit Framework
• Framework for building iPhone user interfaces
• User Interface Elements
• Views, tables, buttons, images, etc.
55. Cocoa Touch
UIKit Framework
• Framework for building iPhone user interfaces
• User Interface Elements
• Views, tables, buttons, images, etc.
• View Controllers
56. Cocoa Touch
UIKit Framework
• Framework for building iPhone user interfaces
• User Interface Elements
• Views, tables, buttons, images, etc.
• View Controllers
• Multitouch Event Handling
57. Cocoa Touch
UIKit Framework
• Framework for building iPhone user interfaces
• User Interface Elements
• Views, tables, buttons, images, etc.
• View Controllers
• Multitouch Event Handling
• Accelerometer
58. Cocoa Touch
UIKit Framework
• Framework for building iPhone user interfaces
• User Interface Elements
• Views, tables, buttons, images, etc.
• View Controllers
• Multitouch Event Handling
• Accelerometer
• High-level Drawing Routines
63. XCode
• Apple’s IDE for creating Mac and iPhone apps
• Provides visual front end to GCC and GDB
64. XCode
• Apple’s IDE for creating Mac and iPhone apps
• Provides visual front end to GCC and GDB
• Hub of development process:
Editing Testing
Building Model Design
Refactoring Deployment
Debugging Code Signing
API Doc Integration Project Configuration
68. Interface Builder
• Visual user interface builder
• Layout and configuration of user interface
69. Interface Builder
• Visual user interface builder
• Layout and configuration of user interface
• Visual layout guides based on Apple's HIG
70. Interface Builder
• Visual user interface builder
• Layout and configuration of user interface
• Visual layout guides based on Apple's HIG
• Graphically wire UI components
71. Interface Builder
• Visual user interface builder
• Layout and configuration of user interface
• Visual layout guides based on Apple's HIG
• Graphically wire UI components
• Seamless integration with XCode
76. iPhone Simulator
• Faster code, build, test cycle
• Test behaviors: rotation, shake, multi-touch
• Easier to test exceptional conditions
77. iPhone Simulator
• Faster code, build, test cycle
• Test behaviors: rotation, shake, multi-touch
• Easier to test exceptional conditions
• iPhone Simulator != iPhone:
• No memory or CPU limits
• Not all APIs and capabilities available:
• Core Location, Keychain, etc.
82. Instruments
• Dynamic tracing and profiling tool
• Visual front end to DTrace
• Uses digital audio workstation-like interface
83. Instruments
• Dynamic tracing and profiling tool
• Visual front end to DTrace
• Uses digital audio workstation-like interface
• Large library of standard instruments
• CPU Sampler, Core Animation, Leaks, etc.
• Can build custom DTrace instruments
84. Instruments
• Dynamic tracing and profiling tool
• Visual front end to DTrace
• Uses digital audio workstation-like interface
• Large library of standard instruments
• CPU Sampler, Core Animation, Leaks, etc.
• Can build custom DTrace instruments
• Wireless profiling in iPhone SDK 3.1+