iOS - Cocoa Touch

The Cocoa Touch frameworks that drive iOS applications share many proven patterns found on the Mac, but were built with a special focus on touch-based interfaces and optimization. UIKit provides the basic tools you need to implement graphical, event-driven applications in iOS. UIKit builds on the same Foundation framework infrastructure found on the Mac OS X, including file handling, networking, string building, and more.

The unique interface of iPhone means that Cocoa Touch has a unique design to match. Using UIKit you have access to the special GUI controls, buttons, and full-screen views on iOS. You also get to control your application with the accelerometer and the multi-touch gesture.

Built on Objective-C

Much of Cocoa Touch is implemented in Objective-C, an object-oriented language that is compiled to run at incredible speed, yet employes a truly dynamic runtime making it uniquely flexible. Because Objective-C is a superset of C, it is easy to mix C and even C++ into your Cocoa Touch applications.

As your application runs, the Objective-C runtime instantiates objects based on executing logic — not just in ways defined during compilation. For example, a running Objective-C application can load an interface (a nib file created by Interface Builder), connect the Cocoa objects in the interface to your application code, then run the correct method once the UI button is pressed. No recompiling is necessary.

Complete Assortment of Frameworks

In addition to UIKit, the Cocoa Touch collection of frameworks includes everything needed to create world-class iPhone applications, from 3D graphics, to professional audio, to networking, and even special device access APIs to control the camera, or get location from the GPS hardware. Cocoa Touch includes powerful Objective-C frameworks that perform entire tasks in only a few lines of code, while providing the foundational C-language APIs to give direct access to the system when needed. Examples of those frameworks include:

Core Animation

Core Animation

Use Core Animation to create rich user experiences from an easy programming model based on compositing independent layers of graphics.

Core Audio

Core Audio

Core Audio is the professional-grade technology for playing, processing and recording audio, making it easy to add powerful audio features to your application.

Core Data

Core Data

Core Data provides an object-oriented data management solution that is easy to use and understand, yet is built to handle the data model needs of any application, large or small.

Features List: Frameworks by Category

Below is a small sampling of the available frameworks included in Cocoa Touch:

  • Audio and Video

  • Core Audio
  • OpenAL
  • Media Library
  • AV Foundation
  • Data Management

  • Core Data
  • SQLite
  • Graphics and Animation

  • Core Animation
  • OpenGL ES
  • Quartz 2D
  • Networking and Internet

  • Bonjour
  • WebKit
  • BSD Sockets
  • User Applications

  • Address Book
  • Core Location
  • Map Kit
  • Store Kit