SlideShare une entreprise Scribd logo
1  sur  47
Télécharger pour lire hors ligne
iOS Ecosystem
                       Matteo Battaglio


                         Pragma Night @ Talent Garden
                                      1
giovedì 28 marzo 13                                     1
Why iOS?


                         2       Pragma Night
giovedì 28 marzo 13                         2
Reason #1: Numbers
                      The size of the mobile market is huge,
                            and growing exponentially




                                        3                      Pragma Night
giovedì 28 marzo 13                                                       3
Reason #1: Numbers
                      Apple keeps holding a significant share
                      of the market, with a positive outlook




                                        4                      Pragma Night
giovedì 28 marzo 13                                                       4
Reason #2: Consistency

          • The iOS platform is highly consistent
           • Just 3 different device families (iPhone, iPad,
                      iPod)
                • they target the high-end market
                • the minimum set of features and APIs available
                      to all is well known


                                             5               Pragma Night
giovedì 28 marzo 13                                                     5
Reason #2: Consistency
                      More than 80% of devices already run iOS 6




                                          6                    Pragma Night
giovedì 28 marzo 13                                                       6
Reason #3: Environment
    Apple’s mission:
    create an environment around
    the user, not just sell products

   • 500+ milion iTunes accounts,
           with credit card
   • the iOS customer is much
           more willing to pay than
           other platforms’ customer


                                   7           Pragma Night
giovedì 28 marzo 13                                       7
Reason #3: Environment

          • Apple’s highly-controlled environment limits
                  unwanted phenomenons
                • piracy
                • fraudulent apps
                • crappy apps
          • Developers are less threatened than other
                  platforms’ developers

                                          8                Pragma Night
giovedì 28 marzo 13                                                   8
Reason #4: Resources


          • iOS frameworks and APIs are of first-class quality
          • The documentation is structured and exhaustive
          • Lots of books, articles, videos and tutorials
          • High-quality developer community

                                   9                     Pragma Night
giovedì 28 marzo 13                                                 9
Reason #4: Resources

          • Development tools by Apple
           • Xcode is a full featured IDE
           • Interface Builder is great for designing user
                      interfaces
                • Debugger and profiler make it easy to find
                      anomalies
                • iOS Simulator is super fast
                                       10                    Pragma Night
giovedì 28 marzo 13                                                     10
Reason #5: Fun!

          • iOS devices are equipped with all sorts of sensors
          • their computational power is enough even for the
                  more advanced tasks
          • always connected to the Internet
                      There is no limit to the imagination!



                                          11                  Pragma Night
giovedì 28 marzo 13                                                      11
Reason #5: Fun!
                      Most popular app categories

         1. Games ~ 140000 active apps @ $0.89 avg.
         2. Education ~ 90000 active apps
         3. Entertainment ~ 75000 active apps
                                              @ $1.56 avg.
         4. Lifestyle ~ 70000 active apps
         5. Books ~ 55000 active apps



                                  12                 Pragma Night
giovedì 28 marzo 13                                             12
Drawbacks


          • Not-so-cheap hardware
          • iOS-dedicated events almost absent
          • Dependance upon a single company and its
                  decisions (non disclosure agreements, Xcode and
                  SDK update policies, etc)



                                       13                    Pragma Night
giovedì 28 marzo 13                                                     13
Hidden complexity

          • iPhone
          • iPad
          • iPod
                        Just 3 different devices?



                                   14               Pragma Night
giovedì 28 marzo 13                                            14
Devices

                  iPhone 3GS    iPod 4th   iPad 2


                  iPhone 4      iPod 5th   iPad 3


                  iPhone 4s                iPad 4


                  iPhone 5                 iPad Mini

                                  15           Pragma Night
giovedì 28 marzo 13                                       15
Display



                                   iPhone 4 / 4S     iPhone 5
                      iPhone 3GS
                                    iPod 4th gen   iPod 5th gen

                      320x480 px   640x480 px      640x1136 px


                       116 ppi       326 ppi         332 ppi


                                        16                        Pragma Night
giovedì 28 marzo 13                                                          16
Display



                       iPad 1 / 2     iPad 3 / 4    iPad mini


                      1024x768 px   2048x1536 px   1024x768 px


                        132 dpi        264 dpi       162 dpi


                                          17                     Pragma Night
giovedì 28 marzo 13                                                         17
Processor / RAM



                                        ARMv7                          ARMv7s

       1 GB                                               iPad 3   iPhone 5    iPad 4

                                              iPhone 4S
    512 MB                         iPhone 4     iPad 2
                                               iPod 5th
                      iPhone 3Gs    iPad 1
    256 MB              iPod 3rd   iPod 4th


                                                 18                           Pragma Night
giovedì 28 marzo 13                                                                      18
Device Specs

          • GSM Arena
                  http://www.gsmarena.com/apple-phones-48.php


          • The iPhoneWiki
                  http://theiphonewiki.com/wiki/


          • iPhone Dev Wiki
            http://iphonedevwiki.net/index.php/Main_Page


                                             19                 Pragma Night
giovedì 28 marzo 13                                                        19
Requirements


                           20        Pragma Night
giovedì 28 marzo 13                             20
Phisical requirements

          • A Mac (iMac, Mac mini, MacBook family)
           • OS X (10.7+)
           • Xcode (4.0+)
          • An iOS device (not mandatory, but recommended)
           • The iOS Simulator can’t be used to simulate
                      some features (e.g. push notifications, in-app
                      purchases)

                                           21                     Pragma Night
giovedì 28 marzo 13                                                          21
Skill requirements

          • Object Oriented Programming
          • C language
          • Objective-C language & iOS SDK
          • Apple guidelines
          • Provisioning procedures

                                22           Pragma Night
giovedì 28 marzo 13                                     22
Membership requirements



          • Apple ID (free)
          • Apple Developer Program (ADP) subscription



                                 23                  Pragma Night
giovedì 28 marzo 13                                             23
Apple Developer
                         Program

                             24         Pragma Night
giovedì 28 marzo 13                                24
Apple Developer Program
                                   Developer Programs

                            Name             Price           Deployment

                      iOS Developer
                                           $99/year     App Store / 100 devices
                      Program


                      iOS Developer
                                           $299/year   NO App Store / ∞ devices
                      Enterprise Program


                      iOS Developer
                                             free      NO App Store / 200 people
                      University Program


                                               25                         Pragma Night
giovedì 28 marzo 13                                                                  25
ADP Sections
          • Member Center
                •     manage users
                •     ADP subscription and renewal

          • iOS Provisioning Portal
                •     development and distribution certificates
                •     adding and removing devices

          • iTunes Connect
                •     app submissions
                •     tracking sales and trends
                •     handling payments
                                                  26             Pragma Night
giovedì 28 marzo 13                                                         26
Concepts

          • Certificate
                  univocally identifies an actor
          • Device
                  Devices must be enabled for testing
          • App ID
                  Unique identifier for the app
          • Provisioning profile
                  Asset which encloses the three concepts above

                                         27                  Pragma Night
giovedì 28 marzo 13                                                     27
Certificates


          • Development Certificate
                  Each person in the team has his own


          • Distribution Certificate
                  There’s one for the whole company (or single
                  developer)



                                       28                    Pragma Night
giovedì 28 marzo 13                                                     28
Devices
          • Purpose
                  devices are used during development and testing
          • Name + UDID
                  Unique Device IDentifier, 40 char-long string
                  e.g. 67a43b0925c7a8050ad788591ace81d1bda81bed
          • Limits
                1. The ADP allows for a maximum of 100 devices
                2. A device can’t be removed from the list until the next
                   renewal of the subscription

                                           29                        Pragma Night
giovedì 28 marzo 13                                                             29
App IDs

          • Bundle Identifier
                  unique identifier for the app
          • Reverse domain name
                  e.g. com.mycompany.BestAppEver
          • Wildcard character
                  e.g. com.mycompany.*



                                         30        Pragma Night
giovedì 28 marzo 13                                           30
Provisioning Profile
          •       What is it?
                  it’s a resource (a file) which bundles the App ID, the
                  device list and the certificates of the developers of
                  the team
          •       What does it provide?
                  it is bundled with the app and is used to authorize the
                  execution of the app on the devices and its
                  deployment and distribution
          •       How long does it last?
                  It is valid for one year, after which it must be renewed

                                           31                       Pragma Night
giovedì 28 marzo 13                                                            31
Provisioning Profile
          • Development Provisioning Profile
                ‣ App ID
                ‣ (Development) certificate list
                ‣ Device list


          • Distribution Provisioning Profile
                ‣     Distribution method (App Store or AdHoc)
                ‣     App ID
                ‣     (Distribution) certificate
                ‣     Device list (only in case of AdHoc deployment)

                                             32                        Pragma Night
giovedì 28 marzo 13                                                               32
Step by step
                  ADP $$       Certificates
                                             MM
                                              Development         Distribution
                                                                                 O
                                             MCertificates         Certificate




     MM               Team    Devices
                                             MM   Customers         Devices
                                                                                 O
     M                                       MM
                 New APP      App ID              Provisioning             M O
                                                                           M

                      Xcode    Install             Build & sign


giovedì 28 marzo 13                                                              33
SDK


                       34   Pragma Night
giovedì 28 marzo 13                    34
iOS
          • Mobile operating system
                  ARM architecture, multitasking, Cocoa Touch,
                  multi-touch GUI
          • Kernel XNU (like MAC OS X)
                  Originally developed by NeXT for the NeXTSTEP
                  OS, it is a hybrid kernel combining Mach and BSD
                  components, and an object-oriented API for
                  drivers
          • Initially known as iPhone OS
                                        35                       Pragma Night
giovedì 28 marzo 13                                                         35
Cocoa Touch frameworks
                      UIKit




                                36         Pragma Night
giovedì 28 marzo 13                                   36
iOS SDK


          • Libraries and development tools
          • First release in March 2008
          • Side by side with Xcode e Mac OS


                                 37            Pragma Night
giovedì 28 marzo 13                                       37
Tools

          • Xcode
                  The natural environment for app development
          • iOS Simulator
                  The handy way of running and testing apps
          • Instruments
                  The perfect tool for code analysis and profiling



                                        38                     Pragma Night
giovedì 28 marzo 13                                                       38
Xcode

          • Integrated Development Environment
          • Objective-C / Objective-C++ / C++ / C
          • LLVM and GCC compilers and debuggers
          • Interface Builder
          • Source Control (Subversion / Git)
          • Apple’s developer documentation
                                39                  Pragma Night
giovedì 28 marzo 13                                            39
Simulator
          • iPhone / iPhone Retina (3.5” / 4”) / iPad / iPad
                  Retina
          • Gestures, Orientation change, Memory Warnings
          • GPS (iOS 5+ Simulator)
          • Apps: Safari, Photos, Contacts, Settings, Game
                  Center, News Stand
          • Fast! (It’s x86 and runs x86 apps, no ARM
                  emulation)

                                       40                  Pragma Night
giovedì 28 marzo 13                                                   40
Instruments


          • Application performance analyzer and visualizer
          • Integrated with Xcode
          • Tracks user events, CPU activity, memory
                  allocations, releases and leaks, file I/O, network
                  activity, graphics and OpenGL



                                          41                     Pragma Night
giovedì 28 marzo 13                                                         41
Resources


                          42      Pragma Night
giovedì 28 marzo 13                          42
Resources


          • Events
          • Videos
          • Books


                          43      Pragma Night
giovedì 28 marzo 13                          43
Events

                       • Apple WWDC
                       • Apple Tech Talk World Tour
                       • NSConference
                       • Pragma mark :)
                         http://lanyrd.com/topics/ios/


                         44                     Pragma Night
giovedì 28 marzo 13                                        44
Videos
          • NSScreencast.com
          • WWDC 2010 / 2011 / 2012 (ADP members only)
          • iOS Development Videos (ADP members only)
          • Lynda.com
          • iDeveloper.tv
          • Udemy.com
          • University courses on iOS (published on iTunes U)
                                  45                   Pragma Night
giovedì 28 marzo 13                                               45
Books




                      • Programming in Objective-C
                      • Cocoa Design Patterns
                      • Pro Multithreading and Memory Management
                        for iOS and Mac OS X
                                         46                  Pragma Night
giovedì 28 marzo 13                                                     46
Thank You!

                      matteo.battaglio@pragmamark.org
                                                        Pragma Night
giovedì 28 marzo 13                                                47

Contenu connexe

Tendances

Case Stydy of Stratigic Management for Nintendo
Case Stydy of Stratigic Management for NintendoCase Stydy of Stratigic Management for Nintendo
Case Stydy of Stratigic Management for Nintendo
Sorawit Yuenyongvithayakul
 

Tendances (14)

Case Stydy of Stratigic Management for Nintendo
Case Stydy of Stratigic Management for NintendoCase Stydy of Stratigic Management for Nintendo
Case Stydy of Stratigic Management for Nintendo
 
The history of videogames
The history of videogamesThe history of videogames
The history of videogames
 
Playstation Presentation
Playstation PresentationPlaystation Presentation
Playstation Presentation
 
Drive Data Center Efficiency with SuperBlade, Powered by AMD EPYC™ and Instinct™
Drive Data Center Efficiency with SuperBlade, Powered by AMD EPYC™ and Instinct™Drive Data Center Efficiency with SuperBlade, Powered by AMD EPYC™ and Instinct™
Drive Data Center Efficiency with SuperBlade, Powered by AMD EPYC™ and Instinct™
 
GFX Part 7 - Introduction to Rendering Targets in OpenGL ES
GFX Part 7 - Introduction to Rendering Targets in OpenGL ESGFX Part 7 - Introduction to Rendering Targets in OpenGL ES
GFX Part 7 - Introduction to Rendering Targets in OpenGL ES
 
intel core i7
intel core i7 intel core i7
intel core i7
 
UX Principles in Serious Game
UX Principles in Serious GameUX Principles in Serious Game
UX Principles in Serious Game
 
Writing a gaming proposal
Writing a gaming proposalWriting a gaming proposal
Writing a gaming proposal
 
Android Fish Game Development
Android Fish Game Development Android Fish Game Development
Android Fish Game Development
 
Chapter 01 GAME 100
Chapter 01 GAME 100Chapter 01 GAME 100
Chapter 01 GAME 100
 
Android PPT
Android PPTAndroid PPT
Android PPT
 
Introducing Apple iPhone 8
Introducing Apple iPhone 8Introducing Apple iPhone 8
Introducing Apple iPhone 8
 
Epic Games Company Presentation
Epic Games Company PresentationEpic Games Company Presentation
Epic Games Company Presentation
 
PlayStation
PlayStationPlayStation
PlayStation
 

En vedette

Multithreading and Parallelism on iOS [MobOS 2013]
 Multithreading and Parallelism on iOS [MobOS 2013] Multithreading and Parallelism on iOS [MobOS 2013]
Multithreading and Parallelism on iOS [MobOS 2013]
Kuba Břečka
 

En vedette (14)

iOS Ecosystem @ Fiera del Radioamatore Pordenone
iOS Ecosystem @ Fiera del Radioamatore PordenoneiOS Ecosystem @ Fiera del Radioamatore Pordenone
iOS Ecosystem @ Fiera del Radioamatore Pordenone
 
4-Horizon Product Portfolio: Build an Ambidextrous Innovation (AI) Ecosystem ...
4-Horizon Product Portfolio: Build an Ambidextrous Innovation (AI) Ecosystem ...4-Horizon Product Portfolio: Build an Ambidextrous Innovation (AI) Ecosystem ...
4-Horizon Product Portfolio: Build an Ambidextrous Innovation (AI) Ecosystem ...
 
How libraries can survive in the new media ecosystem - Spain
How libraries can survive in the new media ecosystem - SpainHow libraries can survive in the new media ecosystem - Spain
How libraries can survive in the new media ecosystem - Spain
 
Apple Watch App Concepts
Apple Watch App ConceptsApple Watch App Concepts
Apple Watch App Concepts
 
Threading in iOS / Cocoa Touch
Threading in iOS / Cocoa TouchThreading in iOS / Cocoa Touch
Threading in iOS / Cocoa Touch
 
How Apple Watch Will Change Human Behavior in 2015
How Apple Watch Will Change Human Behavior in 2015How Apple Watch Will Change Human Behavior in 2015
How Apple Watch Will Change Human Behavior in 2015
 
Memory Management on iOS
Memory Management on iOSMemory Management on iOS
Memory Management on iOS
 
iOS Memory Management
iOS Memory ManagementiOS Memory Management
iOS Memory Management
 
iOS Memory Management Basics
iOS Memory Management BasicsiOS Memory Management Basics
iOS Memory Management Basics
 
Multithreading and Parallelism on iOS [MobOS 2013]
 Multithreading and Parallelism on iOS [MobOS 2013] Multithreading and Parallelism on iOS [MobOS 2013]
Multithreading and Parallelism on iOS [MobOS 2013]
 
Apple iOS - A modern way to mobile operating system
Apple iOS - A modern way to mobile operating systemApple iOS - A modern way to mobile operating system
Apple iOS - A modern way to mobile operating system
 
Apple iOS
Apple iOSApple iOS
Apple iOS
 
iOS platform
iOS platformiOS platform
iOS platform
 
CPU Scheduling Algorithms
CPU Scheduling AlgorithmsCPU Scheduling Algorithms
CPU Scheduling Algorithms
 

Similaire à iOS Ecosystem

“Secure Password Managers” and “Military-Grade Encryption” on Smartphones: Oh...
“Secure Password Managers” and “Military-Grade Encryption” on Smartphones: Oh...“Secure Password Managers” and “Military-Grade Encryption” on Smartphones: Oh...
“Secure Password Managers” and “Military-Grade Encryption” on Smartphones: Oh...
Andrey Belenko
 
PCTY 2012, How IBM does BYOD v. Martin Vittrup
PCTY 2012, How IBM does BYOD v. Martin VittrupPCTY 2012, How IBM does BYOD v. Martin Vittrup
PCTY 2012, How IBM does BYOD v. Martin Vittrup
IBM Danmark
 

Similaire à iOS Ecosystem (20)

NootApp
NootAppNootApp
NootApp
 
Living with "Moore" & Designing the Ultimate SoC
Living with "Moore" & Designing the Ultimate SoCLiving with "Moore" & Designing the Ultimate SoC
Living with "Moore" & Designing the Ultimate SoC
 
An Introduction to Raspberry Pi
An Introduction to Raspberry PiAn Introduction to Raspberry Pi
An Introduction to Raspberry Pi
 
Introduction to Raspberry Pi
Introduction to Raspberry PiIntroduction to Raspberry Pi
Introduction to Raspberry Pi
 
Arduino, Open Source and The Internet of Things Landscape
Arduino, Open Source and The Internet of Things LandscapeArduino, Open Source and The Internet of Things Landscape
Arduino, Open Source and The Internet of Things Landscape
 
Building Scalable Cloud Tech for Mobile / Social Games
Building Scalable Cloud Tech for Mobile / Social GamesBuilding Scalable Cloud Tech for Mobile / Social Games
Building Scalable Cloud Tech for Mobile / Social Games
 
“Secure Password Managers” and “Military-Grade Encryption” on Smartphones: Oh...
“Secure Password Managers” and “Military-Grade Encryption” on Smartphones: Oh...“Secure Password Managers” and “Military-Grade Encryption” on Smartphones: Oh...
“Secure Password Managers” and “Military-Grade Encryption” on Smartphones: Oh...
 
CNUG - Getting started on IoT Devices & Solutions using Windows 10 & Microsof...
CNUG - Getting started on IoT Devices & Solutions using Windows 10 & Microsof...CNUG - Getting started on IoT Devices & Solutions using Windows 10 & Microsof...
CNUG - Getting started on IoT Devices & Solutions using Windows 10 & Microsof...
 
PCTY 2012, How IBM does BYOD v. Martin Vittrup
PCTY 2012, How IBM does BYOD v. Martin VittrupPCTY 2012, How IBM does BYOD v. Martin Vittrup
PCTY 2012, How IBM does BYOD v. Martin Vittrup
 
Cross-platform tools for mobile application development
Cross-platform tools for mobile application developmentCross-platform tools for mobile application development
Cross-platform tools for mobile application development
 
Raspberry pi 3
Raspberry pi 3Raspberry pi 3
Raspberry pi 3
 
Raspberrypi best ppt
Raspberrypi best ppt Raspberrypi best ppt
Raspberrypi best ppt
 
P ism(pen style personal networking gadget)
P ism(pen style personal networking gadget)P ism(pen style personal networking gadget)
P ism(pen style personal networking gadget)
 
Android vs iOS
Android vs iOSAndroid vs iOS
Android vs iOS
 
Porting Tips: iOS to Android
Porting Tips: iOS to AndroidPorting Tips: iOS to Android
Porting Tips: iOS to Android
 
Unity: What does it take to port a browser title to mobiles
Unity: What does it take to port a browser title to mobilesUnity: What does it take to port a browser title to mobiles
Unity: What does it take to port a browser title to mobiles
 
Ninja Blocks Introduction
Ninja Blocks IntroductionNinja Blocks Introduction
Ninja Blocks Introduction
 
Erlang, random numbers, and the security: London Erlang User Group Talk Slide...
Erlang, random numbers, and the security: London Erlang User Group Talk Slide...Erlang, random numbers, and the security: London Erlang User Group Talk Slide...
Erlang, random numbers, and the security: London Erlang User Group Talk Slide...
 
Smart Bombs: Mobile Vulnerability and Exploitation
Smart Bombs: Mobile Vulnerability and ExploitationSmart Bombs: Mobile Vulnerability and Exploitation
Smart Bombs: Mobile Vulnerability and Exploitation
 
Mobile & Me
Mobile & MeMobile & Me
Mobile & Me
 

Dernier

CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 

Dernier (20)

Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
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...
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
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
 
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...
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
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
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
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
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
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
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
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...
 

iOS Ecosystem

  • 1. iOS Ecosystem Matteo Battaglio Pragma Night @ Talent Garden 1 giovedì 28 marzo 13 1
  • 2. Why iOS? 2 Pragma Night giovedì 28 marzo 13 2
  • 3. Reason #1: Numbers The size of the mobile market is huge, and growing exponentially 3 Pragma Night giovedì 28 marzo 13 3
  • 4. Reason #1: Numbers Apple keeps holding a significant share of the market, with a positive outlook 4 Pragma Night giovedì 28 marzo 13 4
  • 5. Reason #2: Consistency • The iOS platform is highly consistent • Just 3 different device families (iPhone, iPad, iPod) • they target the high-end market • the minimum set of features and APIs available to all is well known 5 Pragma Night giovedì 28 marzo 13 5
  • 6. Reason #2: Consistency More than 80% of devices already run iOS 6 6 Pragma Night giovedì 28 marzo 13 6
  • 7. Reason #3: Environment Apple’s mission: create an environment around the user, not just sell products • 500+ milion iTunes accounts, with credit card • the iOS customer is much more willing to pay than other platforms’ customer 7 Pragma Night giovedì 28 marzo 13 7
  • 8. Reason #3: Environment • Apple’s highly-controlled environment limits unwanted phenomenons • piracy • fraudulent apps • crappy apps • Developers are less threatened than other platforms’ developers 8 Pragma Night giovedì 28 marzo 13 8
  • 9. Reason #4: Resources • iOS frameworks and APIs are of first-class quality • The documentation is structured and exhaustive • Lots of books, articles, videos and tutorials • High-quality developer community 9 Pragma Night giovedì 28 marzo 13 9
  • 10. Reason #4: Resources • Development tools by Apple • Xcode is a full featured IDE • Interface Builder is great for designing user interfaces • Debugger and profiler make it easy to find anomalies • iOS Simulator is super fast 10 Pragma Night giovedì 28 marzo 13 10
  • 11. Reason #5: Fun! • iOS devices are equipped with all sorts of sensors • their computational power is enough even for the more advanced tasks • always connected to the Internet There is no limit to the imagination! 11 Pragma Night giovedì 28 marzo 13 11
  • 12. Reason #5: Fun! Most popular app categories 1. Games ~ 140000 active apps @ $0.89 avg. 2. Education ~ 90000 active apps 3. Entertainment ~ 75000 active apps @ $1.56 avg. 4. Lifestyle ~ 70000 active apps 5. Books ~ 55000 active apps 12 Pragma Night giovedì 28 marzo 13 12
  • 13. Drawbacks • Not-so-cheap hardware • iOS-dedicated events almost absent • Dependance upon a single company and its decisions (non disclosure agreements, Xcode and SDK update policies, etc) 13 Pragma Night giovedì 28 marzo 13 13
  • 14. Hidden complexity • iPhone • iPad • iPod Just 3 different devices? 14 Pragma Night giovedì 28 marzo 13 14
  • 15. Devices iPhone 3GS iPod 4th iPad 2 iPhone 4 iPod 5th iPad 3 iPhone 4s iPad 4 iPhone 5 iPad Mini 15 Pragma Night giovedì 28 marzo 13 15
  • 16. Display iPhone 4 / 4S iPhone 5 iPhone 3GS iPod 4th gen iPod 5th gen 320x480 px 640x480 px 640x1136 px 116 ppi 326 ppi 332 ppi 16 Pragma Night giovedì 28 marzo 13 16
  • 17. Display iPad 1 / 2 iPad 3 / 4 iPad mini 1024x768 px 2048x1536 px 1024x768 px 132 dpi 264 dpi 162 dpi 17 Pragma Night giovedì 28 marzo 13 17
  • 18. Processor / RAM ARMv7 ARMv7s 1 GB iPad 3 iPhone 5 iPad 4 iPhone 4S 512 MB iPhone 4 iPad 2 iPod 5th iPhone 3Gs iPad 1 256 MB iPod 3rd iPod 4th 18 Pragma Night giovedì 28 marzo 13 18
  • 19. Device Specs • GSM Arena http://www.gsmarena.com/apple-phones-48.php • The iPhoneWiki http://theiphonewiki.com/wiki/ • iPhone Dev Wiki http://iphonedevwiki.net/index.php/Main_Page 19 Pragma Night giovedì 28 marzo 13 19
  • 20. Requirements 20 Pragma Night giovedì 28 marzo 13 20
  • 21. Phisical requirements • A Mac (iMac, Mac mini, MacBook family) • OS X (10.7+) • Xcode (4.0+) • An iOS device (not mandatory, but recommended) • The iOS Simulator can’t be used to simulate some features (e.g. push notifications, in-app purchases) 21 Pragma Night giovedì 28 marzo 13 21
  • 22. Skill requirements • Object Oriented Programming • C language • Objective-C language & iOS SDK • Apple guidelines • Provisioning procedures 22 Pragma Night giovedì 28 marzo 13 22
  • 23. Membership requirements • Apple ID (free) • Apple Developer Program (ADP) subscription 23 Pragma Night giovedì 28 marzo 13 23
  • 24. Apple Developer Program 24 Pragma Night giovedì 28 marzo 13 24
  • 25. Apple Developer Program Developer Programs Name Price Deployment iOS Developer $99/year App Store / 100 devices Program iOS Developer $299/year NO App Store / ∞ devices Enterprise Program iOS Developer free NO App Store / 200 people University Program 25 Pragma Night giovedì 28 marzo 13 25
  • 26. ADP Sections • Member Center • manage users • ADP subscription and renewal • iOS Provisioning Portal • development and distribution certificates • adding and removing devices • iTunes Connect • app submissions • tracking sales and trends • handling payments 26 Pragma Night giovedì 28 marzo 13 26
  • 27. Concepts • Certificate univocally identifies an actor • Device Devices must be enabled for testing • App ID Unique identifier for the app • Provisioning profile Asset which encloses the three concepts above 27 Pragma Night giovedì 28 marzo 13 27
  • 28. Certificates • Development Certificate Each person in the team has his own • Distribution Certificate There’s one for the whole company (or single developer) 28 Pragma Night giovedì 28 marzo 13 28
  • 29. Devices • Purpose devices are used during development and testing • Name + UDID Unique Device IDentifier, 40 char-long string e.g. 67a43b0925c7a8050ad788591ace81d1bda81bed • Limits 1. The ADP allows for a maximum of 100 devices 2. A device can’t be removed from the list until the next renewal of the subscription 29 Pragma Night giovedì 28 marzo 13 29
  • 30. App IDs • Bundle Identifier unique identifier for the app • Reverse domain name e.g. com.mycompany.BestAppEver • Wildcard character e.g. com.mycompany.* 30 Pragma Night giovedì 28 marzo 13 30
  • 31. Provisioning Profile • What is it? it’s a resource (a file) which bundles the App ID, the device list and the certificates of the developers of the team • What does it provide? it is bundled with the app and is used to authorize the execution of the app on the devices and its deployment and distribution • How long does it last? It is valid for one year, after which it must be renewed 31 Pragma Night giovedì 28 marzo 13 31
  • 32. Provisioning Profile • Development Provisioning Profile ‣ App ID ‣ (Development) certificate list ‣ Device list • Distribution Provisioning Profile ‣ Distribution method (App Store or AdHoc) ‣ App ID ‣ (Distribution) certificate ‣ Device list (only in case of AdHoc deployment) 32 Pragma Night giovedì 28 marzo 13 32
  • 33. Step by step ADP $$ Certificates MM Development Distribution O MCertificates Certificate MM Team Devices MM Customers Devices O M MM New APP App ID Provisioning M O M Xcode Install Build & sign giovedì 28 marzo 13 33
  • 34. SDK 34 Pragma Night giovedì 28 marzo 13 34
  • 35. iOS • Mobile operating system ARM architecture, multitasking, Cocoa Touch, multi-touch GUI • Kernel XNU (like MAC OS X) Originally developed by NeXT for the NeXTSTEP OS, it is a hybrid kernel combining Mach and BSD components, and an object-oriented API for drivers • Initially known as iPhone OS 35 Pragma Night giovedì 28 marzo 13 35
  • 36. Cocoa Touch frameworks UIKit 36 Pragma Night giovedì 28 marzo 13 36
  • 37. iOS SDK • Libraries and development tools • First release in March 2008 • Side by side with Xcode e Mac OS 37 Pragma Night giovedì 28 marzo 13 37
  • 38. Tools • Xcode The natural environment for app development • iOS Simulator The handy way of running and testing apps • Instruments The perfect tool for code analysis and profiling 38 Pragma Night giovedì 28 marzo 13 38
  • 39. Xcode • Integrated Development Environment • Objective-C / Objective-C++ / C++ / C • LLVM and GCC compilers and debuggers • Interface Builder • Source Control (Subversion / Git) • Apple’s developer documentation 39 Pragma Night giovedì 28 marzo 13 39
  • 40. Simulator • iPhone / iPhone Retina (3.5” / 4”) / iPad / iPad Retina • Gestures, Orientation change, Memory Warnings • GPS (iOS 5+ Simulator) • Apps: Safari, Photos, Contacts, Settings, Game Center, News Stand • Fast! (It’s x86 and runs x86 apps, no ARM emulation) 40 Pragma Night giovedì 28 marzo 13 40
  • 41. Instruments • Application performance analyzer and visualizer • Integrated with Xcode • Tracks user events, CPU activity, memory allocations, releases and leaks, file I/O, network activity, graphics and OpenGL 41 Pragma Night giovedì 28 marzo 13 41
  • 42. Resources 42 Pragma Night giovedì 28 marzo 13 42
  • 43. Resources • Events • Videos • Books 43 Pragma Night giovedì 28 marzo 13 43
  • 44. Events • Apple WWDC • Apple Tech Talk World Tour • NSConference • Pragma mark :) http://lanyrd.com/topics/ios/ 44 Pragma Night giovedì 28 marzo 13 44
  • 45. Videos • NSScreencast.com • WWDC 2010 / 2011 / 2012 (ADP members only) • iOS Development Videos (ADP members only) • Lynda.com • iDeveloper.tv • Udemy.com • University courses on iOS (published on iTunes U) 45 Pragma Night giovedì 28 marzo 13 45
  • 46. Books • Programming in Objective-C • Cocoa Design Patterns • Pro Multithreading and Memory Management for iOS and Mac OS X 46 Pragma Night giovedì 28 marzo 13 46
  • 47. Thank You! matteo.battaglio@pragmamark.org Pragma Night giovedì 28 marzo 13 47