iOS platform


Published on

Published in: Technology
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

iOS platform

  1. 1. IOSPlatform Architecture & Development Options
  2. 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. 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. 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
  5. 5. iDevices
  6. 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. 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. 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. 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
  10. 10. iOS Architecture
  11. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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
  21. 21. Questions?