Cocoa Touch
Encyclopedia
Cocoa Touch is an API for building software programs to run on the iPhone
IPhone
The iPhone is a line of Internet and multimedia-enabled smartphones marketed by Apple Inc. The first iPhone was unveiled by Steve Jobs, then CEO of Apple, on January 9, 2007, and released on June 29, 2007...

, iPod Touch
IPod Touch
The iPod Touch is a portable media player, personal digital assistant, handheld game console, and Wi-Fi mobile device designed and marketed by Apple Inc. The iPod Touch adds the multi-touch graphical user interface to the iPod line...

, and iPad
IPad
The iPad is a line of tablet computers designed, developed and marketed by Apple Inc., primarily as a platform for audio-visual media including books, periodicals, movies, music, games, and web content. The iPad was introduced on January 27, 2010 by Apple's then-CEO Steve Jobs. Its size and...

 from Apple Inc.

Cocoa Touch provides an abstraction layer
Abstraction layer
An abstraction layer is a way of hiding the implementation details of a particular set of functionality...

 of iOS, the operating system
Operating system
An operating system is a set of programs that manage computer hardware resources and provide common services for application software. The operating system is the most important type of system software in a computer system...

 for the iPhone, iPod Touch, and iPad. Cocoa Touch is based on the Mac OS X
Mac OS X
Mac OS X is a series of Unix-based operating systems and graphical user interfaces developed, marketed, and sold by Apple Inc. Since 2002, has been included with all new Macintosh computer systems...

 Cocoa API
Cocoa (API)
Cocoa is Apple's native object-oriented application programming interface for the Mac OS X operating system and—along with the Cocoa Touch extension for gesture recognition and animation—for applications for the iOS operating system, used on Apple devices such as the iPhone, the iPod Touch, and...

 toolset and, like it, is primarily written in the Objective-C
Objective-C
Objective-C is a reflective, object-oriented programming language that adds Smalltalk-style messaging to the C programming language.Today, it is used primarily on Apple's Mac OS X and iOS: two environments derived from the OpenStep standard, though not compliant with it...

 language. Cocoa Touch allows the use of hardware and features that are not found in Mac OS X computers and are thus unique to the iOS range of devices. Just like Cocoa, Cocoa Touch follows a Model-View-Controller
Model-view-controller
Model–view–controller is a software architecture, currently considered an architectural pattern used in software engineering. The pattern isolates "domain logic" from the user interface , permitting independent development, testing and maintenance of each .Model View Controller...

 (MVC) software architecture.

Tools for developing applications based on Cocoa Touch are included in the iOS SDK.

Cocoa Touch in relation to other iOS layers

iOS technologies can be seen as a set of layers, with Cocoa Touch at the highest level and the Core OS and Mac OS X kernel
Kernel (computing)
In computing, the kernel is the main component of most computer operating systems; it is a bridge between applications and the actual data processing done at the hardware level. The kernel's responsibilities include managing the system's resources...

 at the bottom. This allows many sophisticated services and technologies to be implemented easily, reducing the amount of work developers would have if they were using lower level layers. However, lower level layers may still be accessed by the developer when needed.

A hierarchical view of the iOS technologies can be shown as:
  1. Cocoa Touch
  2. Media / Application Services
  3. Core Services
  4. Core OS / Mac OS X kernel

Main Features

Some of the main features and technologies of Cocoa Touch are:
  • Core Animation
  • Multitasking
  • Gesture Recognizers

Main Frameworks

Cocoa Touch provides the key frameworks for developing applications on devices running iOS. Some of these key frameworks are:
  • Foundation Kit
    Foundation Kit
    The Foundation Kit, or just Foundation for short, is an Objective-C framework in the OpenStep specification. It provides basic classes such as wrapper classes and data structure classes. This framework uses the prefix NS .-NSObject:...

     Framework
  • UIKit Framework (based on Application Kit
    Application Kit
    The Application Kit is a collection of classes within the OpenStep specification and provided by such operating systems as OPENSTEP, GNUstep, and Mac OS X under Cocoa, providing classes oriented around graphical user interface capabilities...

    )
  • Game Kit Framework
  • iAd Framework
  • Map Kit Framework

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK