iOS Overview
iOS Overview
Outline
• 1. Development Environment for iOS
• 2. Architecture of the iOS Environment
• 3. Architecture of an iOS Application
• 4. Application Life Cycle
iOS
Development Environment for iOS
Media
OpenAL (OpenAudio Library)
Quartz / Core Graphics
CoreAnimation
Open GL
Layered architecture
iOS Architecture
CocoaTouch CocoaTouch
UIKit (UI*) Foundation (NS*)
UI Controls Utility & Collection classes
Event Handling
Hardware APIs
Accelerometer
Camera
Layered architecture
iOS Architecture
UIKit Framework
Use when implementing graphical element.
Press a button, resize an image, etc…)
The main elements:
Views, Controls, Controllers-Usually all that is visible is a view (UIView)
The user interface (UI) is managed by view controllers (UIViewController)
Layered architecture
iOS Architecture
Foundation Framework
Extremely frequent use of these no-user-interface classes (no UI classes)
Press a button, resize an image, etc…)
Examples:
Collections :
NSArray, NSMutableArray, NSDictionary, NSMutableDictionary…
Values (Wrappers) :
NSNumber, NSInteger, NSValue, NSString…
Networking :
NSURL, NSURLRequest…
View
Architecture of an Application
• Allows the user to interact with the application in a simple way
• Scene: Application screen
• Use of storyboards for the design and implementation of the
interface in a graphical environment
Controllers
Architecture of an Application
• iOS is based on event-driven programming
- The flow of the application is determined by events:
- System Events- User Events
- The response of the application to a user action is reflected
by the interface