SlideShare a Scribd company logo
1 of 21
IOS
Platform Architecture & Development Options
Overview
• Introduction
• iOS Architecture
   • COCOA Touch Layer
   • Media Layer
   • Core Services Layer
   • Core OS Layer
• Platform Characteristics
• Native Apps vs. Web Apps vs. Hybrid Apps
• iOS Application Development Options
Introduction
• iOS is Apple’s mobile operating system.
• Originally released for iPhone and iPod Touch, it has been
  extended to support devices like iPad and Apple TV.
• Derived from OSX, with which it shares the Darwin
  foundation and is therefore a UNIX-like operating system
  by nature.
• Darwin is an open source POSIX compliant operating
  system released by Apple Inc. in 2000.
• The user-interface of iOS is based on concept of direct
  manipulation, using multi-touch gestures.
History
• Unveiled with the iPhone at the MacWorld Conference &
  Expo, January 9, 2007 and released in June, 2007.
• On March 6, 2008, Apple released the first beta of native
  Software Development Kit (SDK), along with a new name
  for the operating system : “iPhone OS”.
• In June, 2010, Apple rebranded iPhone OS as “iOS”.
 Version                Build                      Release Date         Highest version for

 3.1.3 (Discontinued)   7E18                       February 2, 2010     iPhone, iPod Touch

 4.2.1 (Discontinued)   8C148                      November 22, 2010    iPhone 3G, iPod Touch

 5.1.1 (Discontinued)   9B206                      May 7, 2012          iPod Touch, iPad

 5.1 (Current)          10A406E                    September 24, 2012   Apple TV

 6.0 (Current)          10A403 (Golden Master) ,   September 12, 2012   iPhone 3GS, iPhone 4,
                        10A405, 10A406                                  iPhone 4S, iPhone 5, iPod
                                                                        Touch, iPad, iPad 2
iDevices
• iPhone & iPod
   • Display: 3.5in, 4in
   • Resolution: 320x480(HVGA) at 163ppi, 640x960 at 326ppi,
       1136x640
   •   Aspect Ratio: 2:3, 16:9
   •   Storage: 4GB, 8GB, 16GB, 32GB, 64GB
   •   Processor: 620MHz, 833MHz, 1GHz Apple A4, 1GHz dual-core
       Apple A5, Apple A6
   •   Bus Frequency and width: 103MHz (32-bit), 100MHz (32-bit),
       100MHz (64-bit), 250MHz (64-bit)
   •   Memory: 128MB, 256MB, 512MB, 1GB
   •   Devices: iPhone 3G, iPhone 3GS, iPhone 4, iPhone 4S, iPhone
       5, iPod Touch
• iPad
    • Display: 9.7in, 4:3 aspect ratio
    • Resolution: 1024x768
    • Storage: 16GB, 32GB, 64GB
    • Processor: 1GHz ARM Cortex-A8, 1GHz dual-core ARM
      Cortex-A9
    • Bus Frequency and width: 100MHz (64-bit), 250MHz (64-bit)
    • Memory: 256MB, 512MB, 1GB
    • Devices: iPad, iPad2, iPad3
• Apple TV
    • Storage: 8GB
    • Memory: 256MB, 512MB
    • Devices: Apple TV 4.0, Apple TV 5.0
Hardware
• Proximity Sensor
       deactivates the display and touchscreen when the
       device is brought near the face during a call.
• 3-axis Accelerometer
       senses the orientation of the phone and changes the
       display accordingly.
• Ambient Light Sensor
       adjusts the display brightness which in turn saves
       battery power.
• Gyroscopic Sensor
       enhances the perception of how the phone is
       moved.
Platform Characteristics
• The Display is Paramount regardless of its size
• Device Orientation can change
• Apps Respond to Gestures, Not Clicks
• People Interact with One App at a Time
• Preferences are available in Settings
• Onscreen User Help Is Minimal
• Most iOS Apps Have a Single Window
• Two Types of Software Run in iOS
    • iOS Apps
    • Web Content

• Safari on iOS Provides the Web Interface
iOS Architecture
Cocoa Touch Layer
•   Auto Layout
•   Storyboards
•   Document Support
•   Multitasking
•   Printing
•   UI State Preservation
•   Apple Push Notification Service
•   Local Notifications
•   Gesture Recognizers
•   Peer-to-Peer Services
    • GameKit framework
• Standard System View Controllers
  • UINavigatoinController, UITabBarController, UIPageView Controller
    etc.
• External Display Support
Cocoa Touch Frameworks
• AddressBookUI.framework
• EventKitUI.framework: calendar- based events
• GameKit.framework
• iAd.framework
• MapKit.framework
• MessageUI.framework
• Twitter.framework
• UIKit.framework
      •   Accelerometer data
      •   The built-in camera (where present)
      •   The user’s photo library
      •   Device name and model information
      •   Battery state information
      •   Proximity sensor information
Media Layer
• Graphics Technologies
     •   Core Graphics (Quartz)
     •   Core Animation
     •   Core Image
     •   OpenGL ES and GLKit
     •   Core Text
     •   Image I/O
     •   Assets Library framework
• Audio Technologies
     •   Media Layer framework
     •   AV Foundation framework
     •   Open AL
     •   Core Audio framework
     •   Supported file formats: AAC Protected (MP4), ALAC, A-law, IMA/ADPCM
         (IMA4), Linear PCM, µ-law, DVI/Intel IMA ADPCM, Microsoft GSM 6.10,
         AES3-2003
• Video Technologies
        •   UIImagePickerController
        •   Media Player framework
        •   AV Foundation framework
        •   Core Media
        •   Supported file formats: .mov, .mp4, .m4v, .3gp
        •   Compression Standards: H.264 video, up to 1.5Mbps, 640 by 480 pixels

                              H.264 video, up to 768Kbps, 320 by 240 pixels
                              MPEG-4 video, up to 2.5 Mbps, 640 by 480 pixels


• AirPlay:     AirPlay is a technology that lets your application stream audio to Apple
 TV and to third-party AirPlay speakers and receivers. Support is built-in in:
       • AV Foundation framework
       • Core Audio
Core Services Layer
• High Level Features        • Frameworks
                                •   Accounts Framework
  • iCloud Storage              •   Address Book Framework
  • Automatic Reference         •   Ad Support Framework
    Counting                    •   CFNetwork Framework
                                •   Core Data Framework
  • Block Objects
                                •   Core Foundation Framework
  • Data Protection             •   Core Location Framework
  • File-Sharing Support        •   Core Media Framework
                                •   Core Motion Framework
  • Grand Central Dispatch      •   Core Telephony Framework
  • In-App Purchase             •   Event Kit Framework
                                •   Foundation Framework
  • SQLite
                                •   Newsstand Kit Framework
  • XML Support                 •   Pass Kit Framework
                                •   Quick Look Framework
                                •   Social Framework
                                •   Store Kit Framework
                                •   System Configuration
                                    Framework
Core OS Layer
• Frameworks
   •   Accelerate Framework
   •   Core Bluetooth Framework
   •   External Accessory Framework
   •   Generic Security Services Framework
   •   Security Framework
   •   System
 • LibSystem library
   •   Threading (POSIX threads)
   •   Networking (BSD sockets)
   •   File-system access
   •   Standard I/O
   •   Bonjour and DNS services
   •   Locale information
   •   Memory allocation
   •   Math computations
Native Apps vs. Web Apps vs. Hybrid
 Apps

• Criteria Aspects         •What is a Web App?
  • User Interface
  • Development
  • Capabilities
                           •What is a Native App?
  • Monetization
  • Installation/Updates
  • Versioning
  • Strengths
                           •What is a Hybrid App?
  • Weaknesses
How to decide?
 • Does the mobile app require the use of any special
   device features (i.e., camera, the camera’s flash,
   accelerometer, etc.)?
 • What’s my budget?
 • Does the mobile app need to be Internet-enabled?
 • Do I need to target all mobile devices or just certain
   devices?
 • What programming languages do I already know?
 • How important is speed and performance?
 • How will this app be monetized effectively?
Development Options

  • Apple Xcode: objective-C
  • Ansca Corona: Lua
  • DragonFire: C, C++
  • Novell Mono Touch: C#
  • Genuitec MobiOne: JavaScript/HTML/CSS
  • Appcelerator Titanium Mobile:
    JavaScript/HTML/CSS
  • RhoMobile: JavaScript/HTML/CSS
  • PhoneGap: JavaScript/HTML/CSS
  • ApplicationCraft
iOS SDK
• Tools shipped with SDK:
   • Xcode
   • Professional text editor
   • Debugger
   • GCC Compiler
 • Interface Builder
   • For creating user interface
 • Instruments
   • For optimizing applications
 • Dash Code
   • For creating web applications for safari
 • iPhone simulator
Questions?

More Related Content

What's hot

Android Application Development
Android Application DevelopmentAndroid Application Development
Android Application DevelopmentBenny Skogberg
 
Mobile application development
Mobile application developmentMobile application development
Mobile application developmentEric Cattoir
 
Introduction to android
Introduction to androidIntroduction to android
Introduction to androidzeelpatel0504
 
Eclipse introduction IDE PRESENTATION
Eclipse introduction IDE PRESENTATIONEclipse introduction IDE PRESENTATION
Eclipse introduction IDE PRESENTATIONAYESHA JAVED
 
Introduction to Android development - Presentation Report
Introduction to Android development - Presentation ReportIntroduction to Android development - Presentation Report
Introduction to Android development - Presentation ReportAtul Panjwani
 
android activity
android activityandroid activity
android activityDeepa Rani
 
Mobile operating system..
Mobile operating system..Mobile operating system..
Mobile operating system..Aashish Uppal
 
Android activity lifecycle
Android activity lifecycleAndroid activity lifecycle
Android activity lifecycleSoham Patel
 
Symbian mobile operating system ppt
Symbian mobile operating system pptSymbian mobile operating system ppt
Symbian mobile operating system pptDevesh Singh
 
android architecture
android architectureandroid architecture
android architectureAashita Gupta
 
Introduction to fragments in android
Introduction to fragments in androidIntroduction to fragments in android
Introduction to fragments in androidPrawesh Shrestha
 
androidstudio.pptx
androidstudio.pptxandroidstudio.pptx
androidstudio.pptxSundaresanB5
 
Versions of Android OS
Versions of Android OSVersions of Android OS
Versions of Android OSHaseeb
 

What's hot (20)

Android Application Development
Android Application DevelopmentAndroid Application Development
Android Application Development
 
Mobile application development
Mobile application developmentMobile application development
Mobile application development
 
Introduction to android
Introduction to androidIntroduction to android
Introduction to android
 
Eclipse introduction IDE PRESENTATION
Eclipse introduction IDE PRESENTATIONEclipse introduction IDE PRESENTATION
Eclipse introduction IDE PRESENTATION
 
Android Basic Components
Android Basic ComponentsAndroid Basic Components
Android Basic Components
 
Introduction to Android development - Presentation Report
Introduction to Android development - Presentation ReportIntroduction to Android development - Presentation Report
Introduction to Android development - Presentation Report
 
Ios development
Ios developmentIos development
Ios development
 
android activity
android activityandroid activity
android activity
 
Mobile operating system..
Mobile operating system..Mobile operating system..
Mobile operating system..
 
Android activity lifecycle
Android activity lifecycleAndroid activity lifecycle
Android activity lifecycle
 
Introduction to spring boot
Introduction to spring bootIntroduction to spring boot
Introduction to spring boot
 
Android Components
Android ComponentsAndroid Components
Android Components
 
Symbian mobile operating system ppt
Symbian mobile operating system pptSymbian mobile operating system ppt
Symbian mobile operating system ppt
 
Android Platform Architecture
Android Platform ArchitectureAndroid Platform Architecture
Android Platform Architecture
 
android architecture
android architectureandroid architecture
android architecture
 
Introduction to fragments in android
Introduction to fragments in androidIntroduction to fragments in android
Introduction to fragments in android
 
androidstudio.pptx
androidstudio.pptxandroidstudio.pptx
androidstudio.pptx
 
Embedded Android : System Development - Part II (HAL)
Embedded Android : System Development - Part II (HAL)Embedded Android : System Development - Part II (HAL)
Embedded Android : System Development - Part II (HAL)
 
Versions of Android OS
Versions of Android OSVersions of Android OS
Versions of Android OS
 
Tomcat
TomcatTomcat
Tomcat
 

Viewers also liked

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 systemDhruv Patel
 
History of iOS
History of iOSHistory of iOS
History of iOSpyro2927
 
Apple iOS Introduction
Apple iOS IntroductionApple iOS Introduction
Apple iOS IntroductionPratik Vyas
 
Introduction to drama, theater, and culture
Introduction to drama, theater, and cultureIntroduction to drama, theater, and culture
Introduction to drama, theater, and cultureanalizaamurao
 
Sample business plan presentation(2)
Sample business plan presentation(2)Sample business plan presentation(2)
Sample business plan presentation(2)smarty23b
 
Business plan_Restaurant
Business plan_RestaurantBusiness plan_Restaurant
Business plan_RestaurantArnav Soni
 
Sample Business Plan Presentation
Sample Business Plan PresentationSample Business Plan Presentation
Sample Business Plan PresentationEnigma
 
Business plan coffee shop
Business plan coffee shopBusiness plan coffee shop
Business plan coffee shopAmol Kadu
 
Business plan for fast food restaurant
Business plan for fast food restaurantBusiness plan for fast food restaurant
Business plan for fast food restaurantElizabeth Marcus
 
Restaurant Business Plan Presentation
Restaurant Business Plan PresentationRestaurant Business Plan Presentation
Restaurant Business Plan PresentationMahadi Hasan
 
Sample Business Proposal Presentation
Sample Business Proposal PresentationSample Business Proposal Presentation
Sample Business Proposal PresentationDaryll Cabagay
 

Viewers also liked (20)

What Is Theater
What Is TheaterWhat Is Theater
What Is Theater
 
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
 
My Internet Cafe
My Internet CafeMy Internet Cafe
My Internet Cafe
 
Apple iOS Report
Apple iOS ReportApple iOS Report
Apple iOS Report
 
Theater Arts
Theater ArtsTheater Arts
Theater Arts
 
History of iOS
History of iOSHistory of iOS
History of iOS
 
Theatre styles
Theatre styles Theatre styles
Theatre styles
 
Apple iOS Introduction
Apple iOS IntroductionApple iOS Introduction
Apple iOS Introduction
 
Presentation on iOS
Presentation on iOSPresentation on iOS
Presentation on iOS
 
Theatre
TheatreTheatre
Theatre
 
Introduction to drama, theater, and culture
Introduction to drama, theater, and cultureIntroduction to drama, theater, and culture
Introduction to drama, theater, and culture
 
Ios operating system
Ios operating systemIos operating system
Ios operating system
 
SAMPLE BUSINESS PLAN
SAMPLE BUSINESS PLANSAMPLE BUSINESS PLAN
SAMPLE BUSINESS PLAN
 
Sample business plan presentation(2)
Sample business plan presentation(2)Sample business plan presentation(2)
Sample business plan presentation(2)
 
Business plan_Restaurant
Business plan_RestaurantBusiness plan_Restaurant
Business plan_Restaurant
 
Sample Business Plan Presentation
Sample Business Plan PresentationSample Business Plan Presentation
Sample Business Plan Presentation
 
Business plan coffee shop
Business plan coffee shopBusiness plan coffee shop
Business plan coffee shop
 
Business plan for fast food restaurant
Business plan for fast food restaurantBusiness plan for fast food restaurant
Business plan for fast food restaurant
 
Restaurant Business Plan Presentation
Restaurant Business Plan PresentationRestaurant Business Plan Presentation
Restaurant Business Plan Presentation
 
Sample Business Proposal Presentation
Sample Business Proposal PresentationSample Business Proposal Presentation
Sample Business Proposal Presentation
 

Similar to iOS platform

Никита Корчагин - Introduction to Apple iOS Development.
Никита Корчагин - Introduction to Apple iOS Development.Никита Корчагин - Introduction to Apple iOS Development.
Никита Корчагин - Introduction to Apple iOS Development.DataArt
 
HTML5 or Android for Mobile Development?
HTML5 or Android for Mobile Development?HTML5 or Android for Mobile Development?
HTML5 or Android for Mobile Development?Reto Meier
 
HTML5 is the Future of Mobile, PhoneGap Takes You There Today
HTML5 is the Future of Mobile, PhoneGap Takes You There TodayHTML5 is the Future of Mobile, PhoneGap Takes You There Today
HTML5 is the Future of Mobile, PhoneGap Takes You There Todaydavyjones
 
iPhone OS: The Next Killer Platform
iPhone OS: The Next Killer PlatformiPhone OS: The Next Killer Platform
iPhone OS: The Next Killer PlatformChristopher Bartling
 
콘텐츠 플랫폼 구조 분석
콘텐츠 플랫폼 구조 분석콘텐츠 플랫폼 구조 분석
콘텐츠 플랫폼 구조 분석Jaehyeuk Oh
 
Mobile App Development
Mobile App DevelopmentMobile App Development
Mobile App DevelopmentChris Morrell
 
Никита Корчагин - Introduction to iOS development
Никита Корчагин - Introduction to iOS developmentНикита Корчагин - Introduction to iOS development
Никита Корчагин - Introduction to iOS developmentDataArt
 
Hybrid mobile application with Ionic
Hybrid mobile application with IonicHybrid mobile application with Ionic
Hybrid mobile application with IonicMaulik Bamania
 
Xamarin.Mac Seminar
Xamarin.Mac SeminarXamarin.Mac Seminar
Xamarin.Mac SeminarXamarin
 
Layer architecture of ios (1)
Layer architecture of ios (1)Layer architecture of ios (1)
Layer architecture of ios (1)dwipalp
 
CM WebClient CA Expo Mannheim Germany
CM WebClient CA Expo Mannheim Germany CM WebClient CA Expo Mannheim Germany
CM WebClient CA Expo Mannheim Germany CM First Group
 
Synapse india reviews on mobile application development
Synapse india reviews on mobile application developmentSynapse india reviews on mobile application development
Synapse india reviews on mobile application developmentsaritasingh19866
 
Android platform
Android platformAndroid platform
Android platformmaya_slides
 
Android the new Mobile Technoogy
Android the new Mobile TechnoogyAndroid the new Mobile Technoogy
Android the new Mobile Technoogypoojapainter
 

Similar to iOS platform (20)

Никита Корчагин - Introduction to Apple iOS Development.
Никита Корчагин - Introduction to Apple iOS Development.Никита Корчагин - Introduction to Apple iOS Development.
Никита Корчагин - Introduction to Apple iOS Development.
 
HTML5 or Android for Mobile Development?
HTML5 or Android for Mobile Development?HTML5 or Android for Mobile Development?
HTML5 or Android for Mobile Development?
 
HTML5 is the Future of Mobile, PhoneGap Takes You There Today
HTML5 is the Future of Mobile, PhoneGap Takes You There TodayHTML5 is the Future of Mobile, PhoneGap Takes You There Today
HTML5 is the Future of Mobile, PhoneGap Takes You There Today
 
iPhone OS: The Next Killer Platform
iPhone OS: The Next Killer PlatformiPhone OS: The Next Killer Platform
iPhone OS: The Next Killer Platform
 
Android Introduction
Android IntroductionAndroid Introduction
Android Introduction
 
콘텐츠 플랫폼 구조 분석
콘텐츠 플랫폼 구조 분석콘텐츠 플랫폼 구조 분석
콘텐츠 플랫폼 구조 분석
 
Mobile App Development
Mobile App DevelopmentMobile App Development
Mobile App Development
 
Android quick talk
Android quick talkAndroid quick talk
Android quick talk
 
Никита Корчагин - Introduction to iOS development
Никита Корчагин - Introduction to iOS developmentНикита Корчагин - Introduction to iOS development
Никита Корчагин - Introduction to iOS development
 
Hybrid mobile application with Ionic
Hybrid mobile application with IonicHybrid mobile application with Ionic
Hybrid mobile application with Ionic
 
Android
AndroidAndroid
Android
 
Xamarin.Mac Seminar
Xamarin.Mac SeminarXamarin.Mac Seminar
Xamarin.Mac Seminar
 
Layer architecture of ios (1)
Layer architecture of ios (1)Layer architecture of ios (1)
Layer architecture of ios (1)
 
Android
Android Android
Android
 
How to become iPhone developer
How to become iPhone developerHow to become iPhone developer
How to become iPhone developer
 
Android
AndroidAndroid
Android
 
CM WebClient CA Expo Mannheim Germany
CM WebClient CA Expo Mannheim Germany CM WebClient CA Expo Mannheim Germany
CM WebClient CA Expo Mannheim Germany
 
Synapse india reviews on mobile application development
Synapse india reviews on mobile application developmentSynapse india reviews on mobile application development
Synapse india reviews on mobile application development
 
Android platform
Android platformAndroid platform
Android platform
 
Android the new Mobile Technoogy
Android the new Mobile TechnoogyAndroid the new Mobile Technoogy
Android the new Mobile Technoogy
 

Recently uploaded

How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 

Recently uploaded (20)

How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 

iOS platform

  • 1. IOS Platform Architecture & Development Options
  • 2. Overview • Introduction • iOS Architecture • COCOA Touch Layer • Media Layer • Core Services Layer • Core OS Layer • Platform Characteristics • Native Apps vs. Web Apps vs. Hybrid Apps • iOS Application Development Options
  • 3. Introduction • iOS is Apple’s mobile operating system. • Originally released for iPhone and iPod Touch, it has been extended to support devices like iPad and Apple TV. • Derived from OSX, with which it shares the Darwin foundation and is therefore a UNIX-like operating system by nature. • Darwin is an open source POSIX compliant operating system released by Apple Inc. in 2000. • The user-interface of iOS is based on concept of direct manipulation, using multi-touch gestures.
  • 4. History • Unveiled with the iPhone at the MacWorld Conference & Expo, January 9, 2007 and released in June, 2007. • On March 6, 2008, Apple released the first beta of native Software Development Kit (SDK), along with a new name for the operating system : “iPhone OS”. • In June, 2010, Apple rebranded iPhone OS as “iOS”. Version Build Release Date Highest version for 3.1.3 (Discontinued) 7E18 February 2, 2010 iPhone, iPod Touch 4.2.1 (Discontinued) 8C148 November 22, 2010 iPhone 3G, iPod Touch 5.1.1 (Discontinued) 9B206 May 7, 2012 iPod Touch, iPad 5.1 (Current) 10A406E September 24, 2012 Apple TV 6.0 (Current) 10A403 (Golden Master) , September 12, 2012 iPhone 3GS, iPhone 4, 10A405, 10A406 iPhone 4S, iPhone 5, iPod Touch, iPad, iPad 2
  • 6. • iPhone & iPod • Display: 3.5in, 4in • Resolution: 320x480(HVGA) at 163ppi, 640x960 at 326ppi, 1136x640 • Aspect Ratio: 2:3, 16:9 • Storage: 4GB, 8GB, 16GB, 32GB, 64GB • Processor: 620MHz, 833MHz, 1GHz Apple A4, 1GHz dual-core Apple A5, Apple A6 • Bus Frequency and width: 103MHz (32-bit), 100MHz (32-bit), 100MHz (64-bit), 250MHz (64-bit) • Memory: 128MB, 256MB, 512MB, 1GB • Devices: iPhone 3G, iPhone 3GS, iPhone 4, iPhone 4S, iPhone 5, iPod Touch
  • 7. • iPad • Display: 9.7in, 4:3 aspect ratio • Resolution: 1024x768 • Storage: 16GB, 32GB, 64GB • Processor: 1GHz ARM Cortex-A8, 1GHz dual-core ARM Cortex-A9 • Bus Frequency and width: 100MHz (64-bit), 250MHz (64-bit) • Memory: 256MB, 512MB, 1GB • Devices: iPad, iPad2, iPad3 • Apple TV • Storage: 8GB • Memory: 256MB, 512MB • Devices: Apple TV 4.0, Apple TV 5.0
  • 8. Hardware • Proximity Sensor deactivates the display and touchscreen when the device is brought near the face during a call. • 3-axis Accelerometer senses the orientation of the phone and changes the display accordingly. • Ambient Light Sensor adjusts the display brightness which in turn saves battery power. • Gyroscopic Sensor enhances the perception of how the phone is moved.
  • 9. Platform Characteristics • The Display is Paramount regardless of its size • Device Orientation can change • Apps Respond to Gestures, Not Clicks • People Interact with One App at a Time • Preferences are available in Settings • Onscreen User Help Is Minimal • Most iOS Apps Have a Single Window • Two Types of Software Run in iOS • iOS Apps • Web Content • Safari on iOS Provides the Web Interface
  • 11. Cocoa Touch Layer • Auto Layout • Storyboards • Document Support • Multitasking • Printing • UI State Preservation • Apple Push Notification Service • Local Notifications • Gesture Recognizers • Peer-to-Peer Services • GameKit framework • Standard System View Controllers • UINavigatoinController, UITabBarController, UIPageView Controller etc. • External Display Support
  • 12. Cocoa Touch Frameworks • AddressBookUI.framework • EventKitUI.framework: calendar- based events • GameKit.framework • iAd.framework • MapKit.framework • MessageUI.framework • Twitter.framework • UIKit.framework • Accelerometer data • The built-in camera (where present) • The user’s photo library • Device name and model information • Battery state information • Proximity sensor information
  • 13. Media Layer • Graphics Technologies • Core Graphics (Quartz) • Core Animation • Core Image • OpenGL ES and GLKit • Core Text • Image I/O • Assets Library framework • Audio Technologies • Media Layer framework • AV Foundation framework • Open AL • Core Audio framework • Supported file formats: AAC Protected (MP4), ALAC, A-law, IMA/ADPCM (IMA4), Linear PCM, µ-law, DVI/Intel IMA ADPCM, Microsoft GSM 6.10, AES3-2003
  • 14. • Video Technologies • UIImagePickerController • Media Player framework • AV Foundation framework • Core Media • Supported file formats: .mov, .mp4, .m4v, .3gp • Compression Standards: H.264 video, up to 1.5Mbps, 640 by 480 pixels H.264 video, up to 768Kbps, 320 by 240 pixels MPEG-4 video, up to 2.5 Mbps, 640 by 480 pixels • AirPlay: AirPlay is a technology that lets your application stream audio to Apple TV and to third-party AirPlay speakers and receivers. Support is built-in in: • AV Foundation framework • Core Audio
  • 15. Core Services Layer • High Level Features • Frameworks • Accounts Framework • iCloud Storage • Address Book Framework • Automatic Reference • Ad Support Framework Counting • CFNetwork Framework • Core Data Framework • Block Objects • Core Foundation Framework • Data Protection • Core Location Framework • File-Sharing Support • Core Media Framework • Core Motion Framework • Grand Central Dispatch • Core Telephony Framework • In-App Purchase • Event Kit Framework • Foundation Framework • SQLite • Newsstand Kit Framework • XML Support • Pass Kit Framework • Quick Look Framework • Social Framework • Store Kit Framework • System Configuration Framework
  • 16. Core OS Layer • Frameworks • Accelerate Framework • Core Bluetooth Framework • External Accessory Framework • Generic Security Services Framework • Security Framework • System • LibSystem library • Threading (POSIX threads) • Networking (BSD sockets) • File-system access • Standard I/O • Bonjour and DNS services • Locale information • Memory allocation • Math computations
  • 17. Native Apps vs. Web Apps vs. Hybrid Apps • Criteria Aspects •What is a Web App? • User Interface • Development • Capabilities •What is a Native App? • Monetization • Installation/Updates • Versioning • Strengths •What is a Hybrid App? • Weaknesses
  • 18. How to decide? • Does the mobile app require the use of any special device features (i.e., camera, the camera’s flash, accelerometer, etc.)? • What’s my budget? • Does the mobile app need to be Internet-enabled? • Do I need to target all mobile devices or just certain devices? • What programming languages do I already know? • How important is speed and performance? • How will this app be monetized effectively?
  • 19. Development Options • Apple Xcode: objective-C • Ansca Corona: Lua • DragonFire: C, C++ • Novell Mono Touch: C# • Genuitec MobiOne: JavaScript/HTML/CSS • Appcelerator Titanium Mobile: JavaScript/HTML/CSS • RhoMobile: JavaScript/HTML/CSS • PhoneGap: JavaScript/HTML/CSS • ApplicationCraft
  • 20. iOS SDK • Tools shipped with SDK: • Xcode • Professional text editor • Debugger • GCC Compiler • Interface Builder • For creating user interface • Instruments • For optimizing applications • Dash Code • For creating web applications for safari • iPhone simulator