Features of a Cocoa Application

A Cocoa application has behind it the powerful resources of the Cocoa frameworks, particularly the Application Kit. These software resources—along with Xcode, Interface Builder, and the rest of the Cocoa development environment—make possible the speedy development of robust, full-featured applications.

The simplest Cocoa application, even one without a line of code added to it, includes a wealth of features that you get “for free.” In other words, you either do not have to program these features yourself or the programming effort is trivial. You can simply create an application project with Xcode, create a graphical user interface with Interface Builder, and build the application to get the following features:

Cocoa applications are distributed as application bundles. An application bundle is a special type of a bundle: a directory that presents itself to the user in the Finder as a single file. In the case of an application bundle, the file is an executable. Double-clicking it causes the Finder to launch the application. Application bundles have an extension of .app.

An application bundle contains the application executable and the resources needed by that executable. For more information about bundles and application packaging, see Bundle Programming Guide.