Cocoa Touch
Developer(s) | Apple Inc. |
---|---|
Operating system | iOS |
Type | Software framework |
License | Proprietary |
Website | developer.apple.com |
Cocoa Touch is a UI framework for building software programs to run on iOS (for the iPhone, iPod Touch, and iPad), watchOS for the Apple Watch, and tvOS for the fourth-generation Apple TV, from Apple Inc.
Cocoa Touch provides an abstraction layer of iOS, the operating system for the iPhone, iPod Touch, and iPad. Cocoa Touch is based on the macOS Cocoa API toolset and, like it, is primarily written in the Objective-C language. Cocoa Touch allows the use of hardware and features that are not found in macOS computers and are thus unique to the iOS range of devices. Just like Cocoa, Cocoa Touch follows a Model-View-Controller (MVC) software architecture.
Cocoa Touch contains a different set of graphical control elements to Cocoa. Tools for developing applications based on Cocoa Touch are included in the iOS SDK.
Cocoa Touch in relation to other layers
iOS, watchOS, and tvOS technologies can be seen as a set of layers, with Cocoa Touch at the highest level and the Core OS/kernel at the bottom.
A hierarchical view of the iOS, watchOS, and tvOS technologies can be shown as follows:
- Cocoa Touch
- Media / Application Services
- Core Services
- Core OS / iOS kernel
Main features
Some of the main features and technologies of Cocoa Touch are:
- App Extension
- Handoff
- Document Picker
- AirDrop
- TextKit
- UIKit Dynamics
- Multitasking
- Auto Layout
- Storyboards
- UI State Preservation
- Apple Push Notification Service
- Local Notifications
- Gesture Recognisers
- Standard System View Controllers
Main frameworks
Cocoa Touch provides the key frameworks for developing applications on devices running iOS. Some of these key frameworks are:
- Foundation Kit Framework
- UIKit Framework (based on Application Kit)
- GameKit Framework
- iAd Framework
- MapKit Framework
- Address Book UI Framework
- EventKit UI Framework
- Message UI Framework
- Notification Center Framework
- PushKit Framework
- Twitter Framework
External links
- Apple's iOS Developer Center
- Apple Developer Center - Cocoa Touch
- Apple's iOS Reference Library - Cocoa Touch Layer