iPhone OS
 The Next
   Killer
 Platform
Why all the excitement?
Why all the excitement?
• Compelling, stylish products built on multi-
  touch interface
  • iPod Touch
  • iPhone
  • iPad
Why all the excitement?
• Compelling, stylish products built on multi-
  touch interface
  • iPod Touch
  • iPhone
  • iPa...
Why all the excitement?
• Compelling, stylish products built on multi-
  touch interface
  • iPod Touch
  • iPhone
  • iPa...
iPhone Strengths
iPhone Strengths
• iPhone OS as a platform
iPhone Strengths
• iPhone OS as a platform
• Complete hardware and software product
  offering
  • Apple A4 chip design
iPhone Strengths
• iPhone OS as a platform
• Complete hardware and software product
  offering
  • Apple A4 chip design
• ...
iPhone Strengths
• iPhone OS as a platform
• Complete hardware and software product
  offering
  • Apple A4 chip design
• ...
iPhone Strengths
• iPhone OS as a platform
• Complete hardware and software product
  offering
  • Apple A4 chip design
• ...
iPhone Weaknesses
iPhone Weaknesses
• Exclusivity agreement with AT&T
iPhone Weaknesses
• Exclusivity agreement with AT&T
• Proprietary SDK and licensing agreements
iPhone Weaknesses
• Exclusivity agreement with AT&T
• Proprietary SDK and licensing agreements
• App Store app submission ...
iPhone Opportunities
iPhone Opportunities
• Expansion of iPhone/iPad to multiple cellular
  networks
iPhone Opportunities
• Expansion of iPhone/iPad to multiple cellular
  networks
• Captivated development community
iPhone Opportunities
• Expansion of iPhone/iPad to multiple cellular
  networks
• Captivated development community
• Capti...
iPhone Opportunities
• Expansion of iPhone/iPad to multiple cellular
  networks
• Captivated development community
• Capti...
iPhone Threats
iPhone Threats
• Android OS and Google
iPhone Threats
• Android OS and Google
• Other mobile/tablet platforms
iPhone Threats
• Android OS and Google
• Other mobile/tablet platforms
• User reluctance to move to a multi-touch
  user i...
iPhone SDK
iPhone SDK
Key Features
iPhone SDK
Key Features

 • Tools to design, build, test, and deploy
iPhone SDK
Key Features

 • Tools to design, build, test, and deploy
 • Powerful, full-featured APIs
iPhone SDK
Key Features

 • Tools to design, build, test, and deploy
 • Powerful, full-featured APIs
 • Consistent
   • Gr...
iPhone SDK
Key Features

 • Tools to design, build, test, and deploy
 • Powerful, full-featured APIs
 • Consistent
   • Gr...
iPhone SDK
Key Features

 • Tools to design, build, test, and deploy
 • Powerful, full-featured APIs
 • Consistent
   • Gr...
Objective-C
Objective-C
The old new hotness
Objective-C
The old new hotness
 • Strict superset of ANSI C
   • Object-oriented extensions
   • Additional syntax and ty...
Objective-C
The old new hotness
 • Strict superset of ANSI C
   • Object-oriented extensions
   • Additional syntax and ty...
Objective-C
The old new hotness
 • Strict superset of ANSI C
   • Object-oriented extensions
   • Additional syntax and ty...
Objective-C
The old new hotness
 • Strict superset of ANSI C
   • Object-oriented extensions
   • Additional syntax and ty...
Objective-C
The old new hotness
 • Strict superset of ANSI C
   • Object-oriented extensions
   • Additional syntax and ty...
Objective-C
The old new hotness
 • Strict superset of ANSI C
   • Object-oriented extensions
   • Additional syntax and ty...
Objective-C Resources
iPhone SDK Frameworks
iPhone SDK Frameworks




     BSD UNIX / Kernel Services
iPhone SDK Frameworks




         Core Frameworks


     BSD UNIX / Kernel Services
iPhone SDK Frameworks



               Media


         Core Frameworks


     BSD UNIX / Kernel Services
iPhone SDK Frameworks

            Cocoa Touch


               Media


         Core Frameworks


     BSD UNIX / Kernel ...
Cocoa Touch
Foundation Framework
Cocoa Touch
Foundation Framework

 • Core framework for non-UI functionality
Cocoa Touch
Foundation Framework

 • Core framework for non-UI functionality
 • Operating System Classes
   • threading, a...
Cocoa Touch
Foundation Framework

 • Core framework for non-UI functionality
 • Operating System Classes
   • threading, a...
Cocoa Touch
Foundation Framework

 • Core framework for non-UI functionality
 • Operating System Classes
   • threading, a...
Cocoa Touch
Foundation Framework

 • Core framework for non-UI functionality
 • Operating System Classes
   • threading, a...
Cocoa Touch
UIKit Framework
Cocoa Touch
UIKit Framework

 • Framework for building iPhone user interfaces
Cocoa Touch
UIKit Framework

 • Framework for building iPhone user interfaces
 • User Interface Elements
   • Views, table...
Cocoa Touch
UIKit Framework

 • Framework for building iPhone user interfaces
 • User Interface Elements
   • Views, table...
Cocoa Touch
UIKit Framework

 • Framework for building iPhone user interfaces
 • User Interface Elements
   • Views, table...
Cocoa Touch
UIKit Framework

 • Framework for building iPhone user interfaces
 • User Interface Elements
   • Views, table...
Cocoa Touch
UIKit Framework

 • Framework for building iPhone user interfaces
 • User Interface Elements
   • Views, table...
iPhone SDK Tools
XCode
XCode
XCode
• Apple’s IDE for creating Mac and iPhone apps
XCode
• Apple’s IDE for creating Mac and iPhone apps
• Provides visual front end to GCC and GDB
XCode
• Apple’s IDE for creating Mac and iPhone apps
• Provides visual front end to GCC and GDB
• Hub of development proce...
Interface Builder
Interface Builder
Interface Builder
 • Visual user interface builder
Interface Builder
 • Visual user interface builder
   • Layout and configuration of user interface
Interface Builder
 • Visual user interface builder
   • Layout and configuration of user interface
   • Visual layout guide...
Interface Builder
 • Visual user interface builder
   • Layout and configuration of user interface
   • Visual layout guide...
Interface Builder
 • Visual user interface builder
   • Layout and configuration of user interface
   • Visual layout guide...
iPhone Simulator
iPhone Simulator
iPhone Simulator
• Faster code, build, test cycle
iPhone Simulator
• Faster code, build, test cycle
• Test behaviors: rotation, shake, multi-touch
iPhone Simulator
• Faster code, build, test cycle
• Test behaviors: rotation, shake, multi-touch
• Easier to test exceptio...
iPhone Simulator
• Faster code, build, test cycle
• Test behaviors: rotation, shake, multi-touch
• Easier to test exceptio...
Instruments
Instruments
Instruments

• Dynamic tracing and profiling tool
Instruments

• Dynamic tracing and profiling tool
 • Visual front end to DTrace
Instruments

• Dynamic tracing and profiling tool
 • Visual front end to DTrace
• Uses digital audio workstation-like inter...
Instruments

• Dynamic tracing and profiling tool
 • Visual front end to DTrace
• Uses digital audio workstation-like inter...
Instruments

• Dynamic tracing and profiling tool
 • Visual front end to DTrace
• Uses digital audio workstation-like inter...
One more thing...
Upcoming SlideShare
Loading in...5
×

iPhone OS: The Next Killer Platform

1,477

Published on

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

0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,477
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
64
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide














































































  • iPhone OS: The Next Killer Platform

    1. 1. iPhone OS The Next Killer Platform
    2. 2. Why all the excitement?
    3. 3. Why all the excitement? • Compelling, stylish products built on multi- touch interface • iPod Touch • iPhone • iPad
    4. 4. Why all the excitement? • Compelling, stylish products built on multi- touch interface • iPod Touch • iPhone • iPad • Applications marketplace (AppStore)
    5. 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. 6. iPhone Strengths
    7. 7. iPhone Strengths • iPhone OS as a platform
    8. 8. iPhone Strengths • iPhone OS as a platform • Complete hardware and software product offering • Apple A4 chip design
    9. 9. iPhone Strengths • iPhone OS as a platform • Complete hardware and software product offering • Apple A4 chip design • Thriving development community
    10. 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. 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. 12. iPhone Weaknesses
    13. 13. iPhone Weaknesses • Exclusivity agreement with AT&T
    14. 14. iPhone Weaknesses • Exclusivity agreement with AT&T • Proprietary SDK and licensing agreements
    15. 15. iPhone Weaknesses • Exclusivity agreement with AT&T • Proprietary SDK and licensing agreements • App Store app submission and approval process
    16. 16. iPhone Opportunities
    17. 17. iPhone Opportunities • Expansion of iPhone/iPad to multiple cellular networks
    18. 18. iPhone Opportunities • Expansion of iPhone/iPad to multiple cellular networks • Captivated development community
    19. 19. iPhone Opportunities • Expansion of iPhone/iPad to multiple cellular networks • Captivated development community • Captivated gaming community
    20. 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. 21. iPhone Threats
    22. 22. iPhone Threats • Android OS and Google
    23. 23. iPhone Threats • Android OS and Google • Other mobile/tablet platforms
    24. 24. iPhone Threats • Android OS and Google • Other mobile/tablet platforms • User reluctance to move to a multi-touch user interface
    25. 25. iPhone SDK
    26. 26. iPhone SDK Key Features
    27. 27. iPhone SDK Key Features • Tools to design, build, test, and deploy
    28. 28. iPhone SDK Key Features • Tools to design, build, test, and deploy • Powerful, full-featured APIs
    29. 29. iPhone SDK Key Features • Tools to design, build, test, and deploy • Powerful, full-featured APIs • Consistent • Greatly aides in learning iPhone development
    30. 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. 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. 32. Objective-C
    33. 33. Objective-C The old new hotness
    34. 34. Objective-C The old new hotness • Strict superset of ANSI C • Object-oriented extensions • Additional syntax and types
    35. 35. Objective-C The old new hotness • Strict superset of ANSI C • Object-oriented extensions • Additional syntax and types • Native iPhone SDK language
    36. 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. 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. 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. 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. 40. Objective-C Resources
    41. 41. iPhone SDK Frameworks
    42. 42. iPhone SDK Frameworks BSD UNIX / Kernel Services
    43. 43. iPhone SDK Frameworks Core Frameworks BSD UNIX / Kernel Services
    44. 44. iPhone SDK Frameworks Media Core Frameworks BSD UNIX / Kernel Services
    45. 45. iPhone SDK Frameworks Cocoa Touch Media Core Frameworks BSD UNIX / Kernel Services
    46. 46. Cocoa Touch Foundation Framework
    47. 47. Cocoa Touch Foundation Framework • Core framework for non-UI functionality
    48. 48. Cocoa Touch Foundation Framework • Core framework for non-UI functionality • Operating System Classes • threading, archiving, filesystem
    49. 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. 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. 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. 52. Cocoa Touch UIKit Framework
    53. 53. Cocoa Touch UIKit Framework • Framework for building iPhone user interfaces
    54. 54. Cocoa Touch UIKit Framework • Framework for building iPhone user interfaces • User Interface Elements • Views, tables, buttons, images, etc.
    55. 55. Cocoa Touch UIKit Framework • Framework for building iPhone user interfaces • User Interface Elements • Views, tables, buttons, images, etc. • View Controllers
    56. 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. 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. 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. 59. iPhone SDK Tools
    60. 60. XCode
    61. 61. XCode
    62. 62. XCode • Apple’s IDE for creating Mac and iPhone apps
    63. 63. XCode • Apple’s IDE for creating Mac and iPhone apps • Provides visual front end to GCC and GDB
    64. 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. 65. Interface Builder
    66. 66. Interface Builder
    67. 67. Interface Builder • Visual user interface builder
    68. 68. Interface Builder • Visual user interface builder • Layout and configuration of user interface
    69. 69. Interface Builder • Visual user interface builder • Layout and configuration of user interface • Visual layout guides based on Apple's HIG
    70. 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. 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. 72. iPhone Simulator
    73. 73. iPhone Simulator
    74. 74. iPhone Simulator • Faster code, build, test cycle
    75. 75. iPhone Simulator • Faster code, build, test cycle • Test behaviors: rotation, shake, multi-touch
    76. 76. iPhone Simulator • Faster code, build, test cycle • Test behaviors: rotation, shake, multi-touch • Easier to test exceptional conditions
    77. 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. 78. Instruments
    79. 79. Instruments
    80. 80. Instruments • Dynamic tracing and profiling tool
    81. 81. Instruments • Dynamic tracing and profiling tool • Visual front end to DTrace
    82. 82. Instruments • Dynamic tracing and profiling tool • Visual front end to DTrace • Uses digital audio workstation-like interface
    83. 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. 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. 85. One more thing...
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×