Information Technology Reference
In-Depth Information
Using frameworks and layers
Although iOS and OS X have different frameworks and layers, the principle is similar for both. A
framework
is
a code library with an API that implements one or more useful features. A
layer
is a broad group of frameworks
collected together.
The layer groupings are rather arbitrary and can be misleading. For example, in OS X, the Foundation frame-
work includes functions such as
NSMakePoint
and
NSEqualPoints
that are critical for graphics program-
ming. But the Foundation framework is a grab bag of utility features and appears in the Core Services Layer;
these critical functions aren't listed in the Media layer, even though it appears to be a complete reference to OS
X graphics.
Here as elsewhere, the documentation doesn't distinguish between critical, optional, and barely relevant inform-
ation. To save confusion, ignore the full list of frameworks and concentrate on the three frameworks used in the
default application templates: AppKit, Foundation for OS X; UIKit, Foundation, and CoreGraphics for iOS. In
addition, you often need to use the Quartz frameworks and CoreAnimation framework on both platforms, and
you may need to use Core Data.
Other frameworks add optional features. You can ignore them unless you want to add specific features to a pro-
ject.
NOTE