Source Book:Xcode 4 iOS Development Beginner's Guide
1.The Core OS layer
This is the bottom layer of the hierarchy and is responsible for the foundation of the operating system which the other layers sit on top of. This important layer is in charge of managing memory—allocating and releasing memory once the application has finished with it, taking care of file system tasks, handling networking, and other operating system tasks. It also interacts directly with the hardware.The Core OS layer consists of the following components:

(1)OS X Kernel :Based on Mach 3.0, it is responsible for every aspect of the operating system.
(2)Mach 3.0:A subset of the OS X Kernel responsible for running applications within a separate process.
(3)BSD (Berkeley Standard Distribution):Based on the kernel environment within the Mac OS X it is responsible for the drivers, and low-level UNIX interfaces of the operating system.
(4)Sockets:Part of the CFNetwork Framework for providing access to BSD sockets, HTTP and FTP protocol requests.
(5)Security:The Security Framework provides functions for performing cryptographic functions (encrypting/decrypting data). This includes interacting with the iPhone keychain to add, delete, and modify items.
(6)Power Management:Conserves power by shutting down any hardware features that are not currently being used.
(7)Keychain:Part of the Security Framework for handling and securing data.
(8)Certificates:Part of the Security Framework for handling and securing data.
(9)File System:The System Framework gives developers access to a subset of the typical tools they would find in an unrestricted UNIX development environment.
(10)Bonjour:Part of the CFNetwork Framework for providing access to BSD sockets, HTTP and FTP protocol requests, and Bonjour discovery over a local-area-network.
2.The Core Services layer
The Core Services layer provides an abstraction over the services provided in the Core OS layer. It provides fundamental access to the iPhone OS services. The Core Services Layer consists of the following components:
(1)Collections:Part of the Core Foundation Framework which provides basic data management and service features for iOS applications.
(2)Address Book:Provides access to the user's Address Book contacts on the iOS device.
(3)Networking:This is part of the System Configuration Framework, which determines network availability and state on an iOS device.
(4)File Access:Provides access to lower-level operating system services.
(5)SQLite:This lets you embed a lightweight SQL database into your application without running a separate remote database server process.
(6)Core Location:Used for determining the location and orientation of an iOS device.
(7)Net Services:Part of the System Configuration to determine whether a Wi-Fi or cellular connection is in use and whether a particular host server can be accessed.
(8)Threading:Part of the Core Foundation Framework which provides basic data management and service features for iOS applications.
(9)Preferences:Part of the Core Foundation Framework which provides basic data management and service features for iOS applications.
(10)URL Utilities:Part of the Core Foundation Framework which provides basic data management and service features for iOS applications.
3.The Media layer
The Media layer provides multimedia services that you can use within your iPhone, and other iOS devices. The Media layer is made up of the following components:

(1)Core Audio:Handles playback and recording of audio files and streams and also provides access to the device's built-in audio processing units.
(2)OpenGL:Used for creating 2D and 3D animations.
(3)Audio Mixing:Part of the Core Audio Framework, provides the possibility to mix system announcements with background audio. For example, iOS would announce callerID while fading in/out the background media.
(4)Audio Recording:Provides the ability to record sound on the iPhone using the AVAudioRecorder class.
(5)Video Playback:Provides the ability to playback Video using the MPMoviePlayerController class.
(6)Image Formats: JPG, PNG, and TIFF:Provides interfaces for reading and writing most image formats – part of the Image I/O Framework.
(7)PDF:Provides a sophisticated text layout and rendering engine.
(8)Quartz:Framework for image and video processing, and animation using the Core Animation technology.
(9)Core Animations:Provides advanced support for animating views and other content. This is part of the Quartz Framework.
(10)OpenGL ES:This is a subset of the OpenGL Framework for creating 2D and 3D animations.

4.The Cocoa-Touch layer
The Cocoa-Touch layer provides an abstraction layer to expose the various libraries for programming the iPhone, and other IOS devices. You probably can understand why Cocoa-Touch is located at the top of the hierarchy due to its support for Multi-Touch capabilities. The Cocoa-Touch layer is made up of the following components:
(1)Multi-Touch Events:These are the events which are used to determine when a Tap, Swipe, Pinch, double-tap has happened.That is, TouchesMoved, TouchesBegan, TouchesEnded.
(2)Multi-Touch Controls:Based on the Multi-Touch model, this determines when a user has placed one or more fingers touching the screen before responding to the action accordingly.
(3)View Hierarchy:Deals with the Model-View-Controller and the objects within the view.
(4)Alerts:Using the UIAlertView class, these are used to communicate to the user when an error happens, or to request further input.
(5)People Picker:Based on the AddressBook Framework, which displays the person's contact details.
(6)Controllers:Based on the Model-View-Controller for presenting standard system interfaces and provides much of the logic needed to manage basic application behaviors. For example, managing the reorientation of views in response to device orientation changes.
(7)Accelerometer/Gyroscope:Responds to motion and measures the degree of acceleration, and rate of rotation around a particular axis.
(8)Localization/Geographical:Adds maps and satellite images to location-based apps, similar to the one provided by the Maps application.
(9)Web Views:Provides a view to embed web content and display rich HTML.
(10)Image Picker:Provides a potentially multi-dimensional user-interface element consisting of rows and components.
0 comments:
Post a Comment