iPhone OS: The Next Killer Platform
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share

iPhone OS: The Next Killer Platform

  • 1,583 views
Uploaded on

Presentation that Bob McCune and I did for the DevJam Jam Session night on April 7, 2010.

Presentation that Bob McCune and I did for the DevJam Jam Session night on April 7, 2010.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
1,583
On Slideshare
1,575
From Embeds
8
Number of Embeds
3

Actions

Shares
Downloads
63
Comments
0
Likes
3

Embeds 8

http://www.linkedin.com 4
http://www.slideshare.net 3
http://www.slashdocs.com 1

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />

Transcript

  • 1. iPhone OS The Next Killer Platform
  • 2. Why all the excitement?
  • 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
  • 6. iPhone Strengths
  • 7. iPhone Strengths • iPhone OS as a platform
  • 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
  • 12. iPhone Weaknesses
  • 13. iPhone Weaknesses • Exclusivity agreement with AT&T
  • 14. iPhone Weaknesses • Exclusivity agreement with AT&T • Proprietary SDK and licensing agreements
  • 15. iPhone Weaknesses • Exclusivity agreement with AT&T • Proprietary SDK and licensing agreements • App Store app submission and approval process
  • 16. iPhone Opportunities
  • 17. iPhone Opportunities • Expansion of iPhone/iPad to multiple cellular networks
  • 18. iPhone Opportunities • Expansion of iPhone/iPad to multiple cellular networks • Captivated development community
  • 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
  • 21. iPhone Threats
  • 22. iPhone Threats • Android OS and Google
  • 23. iPhone Threats • Android OS and Google • Other mobile/tablet platforms
  • 24. iPhone Threats • Android OS and Google • Other mobile/tablet platforms • User reluctance to move to a multi-touch user interface
  • 25. iPhone SDK
  • 26. iPhone SDK Key Features
  • 27. iPhone SDK Key Features • Tools to design, build, test, and deploy
  • 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
  • 32. Objective-C
  • 33. Objective-C The old new hotness
  • 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
  • 40. Objective-C Resources
  • 41. iPhone SDK Frameworks
  • 42. iPhone SDK Frameworks BSD UNIX / Kernel Services
  • 43. iPhone SDK Frameworks Core Frameworks BSD UNIX / Kernel Services
  • 44. iPhone SDK Frameworks Media Core Frameworks BSD UNIX / Kernel Services
  • 45. iPhone SDK Frameworks Cocoa Touch Media Core Frameworks BSD UNIX / Kernel Services
  • 46. Cocoa Touch Foundation Framework
  • 47. Cocoa Touch Foundation Framework • Core framework for non-UI functionality
  • 48. Cocoa Touch Foundation Framework • Core framework for non-UI functionality • Operating System Classes • threading, archiving, filesystem
  • 49. Cocoa Touch Foundation Framework • Core framework for non-UI functionality • Operating System Classes • threading, archiving, filesystem • Collections • Common collection types: arrays, sets, maps
  • 50. Cocoa Touch Foundation Framework • Core framework for non-UI functionality • Operating System Classes • threading, archiving, filesystem • Collections • Common collection types: arrays, sets, maps • Networking support
  • 51. Cocoa Touch Foundation Framework • Core framework for non-UI functionality • Operating System Classes • threading, archiving, filesystem • Collections • Common collection types: arrays, sets, maps • Networking support • XML Processing
  • 52. Cocoa Touch UIKit Framework
  • 53. Cocoa Touch UIKit Framework • Framework for building iPhone user interfaces
  • 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
  • 59. iPhone SDK Tools
  • 60. XCode
  • 61. XCode
  • 62. XCode • Apple’s IDE for creating Mac and iPhone apps
  • 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
  • 65. Interface Builder
  • 66. Interface Builder
  • 67. Interface Builder • Visual user interface builder
  • 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
  • 72. iPhone Simulator
  • 73. iPhone Simulator
  • 74. iPhone Simulator • Faster code, build, test cycle
  • 75. iPhone Simulator • Faster code, build, test cycle • Test behaviors: rotation, shake, multi-touch
  • 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.
  • 78. Instruments
  • 79. Instruments
  • 80. Instruments • Dynamic tracing and profiling tool
  • 81. Instruments • Dynamic tracing and profiling tool • Visual front end to DTrace
  • 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+
  • 85. One more thing...