O'Reilly logo

MacRuby: The Definitive Guide by Matt Aimonetti

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Chapter 5. Application Kit

The Application Kit, also known as the AppKit framework, contains all the classes needed to build OS X GUI applications. This is the framework we used in our “Hello World!” example in Code Example.

AppKit is a very large framework and this book will not cover all the classes provided. I’ll introduce the concepts you need to get started and illustrate a few of the classes that every programmer uses for graphical interfaces.

Cocoa Key Principles

You need to understand a few key concepts before digging further into Cocoa. So far, we have looked closely only at the Foundation classes, which map fairly intuitively to concepts and library calls in other programming languages and programming environments. With Cocoa, we jump into unique concepts that are less intuitive.

Cocoa is a well-thought-out, well-designed, and very consistent API. To assure this consistency, a few key concepts underlie most of the API classes. By following the designed conventions, you will avoid spending a lot of time rewriting your code over and over.

Note

These Cocoa concepts and conventions are unfortunately not enforced in all the available frameworks. Some C-based frameworks were incorporated into Cocoa simply by adding an Objective-C wrapper, and these usually don’t follow the conventions as nicely as frameworks written directly in Objective-C.

Model-View-Controller Design Pattern

Ruby developers who have done any web development should be quite familiar with the model-view-controller (MVC) ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required