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 3. The Cocoa Environment

Programmers who have written Mac OS X or iOS applications using Objective-C are already familiar with Cocoa and should recognize its APIs in the examples in Chapter 1, albeit with some odd syntax changes noted in that chapter. Ruby programmers who want an introduction to Cocoa can find it in this chapter. MacRuby lets you mix Ruby and Cocoa APIs seamlessly. But as you start developing Cocoa applications, you will start having to use Cocoa-specific APIs to solve Cocoa-specific challenges.

History

In the early 1980s, two engineers from the company StepStone, named Brad J. Cox and Tom Love, designed a C-based language inspired by SmallTalk-80. Their goal was to implement an object-oriented extension to the C language. The result was called Objective-C.

In 1985, Steve Jobs founded NeXT, a computer platform development company specializing in the higher education and business markets.

In 1988, NeXT licensed Objective-C from StepStone and wrote libraries and a compiler to build NeXTSTEP’s user interface and interface builder. NeXTSTEP, NeXT’s Unix-based operating system was particularly notable because of its focus on object-oriented programming and its many powerful toolkits.

Writing applications for NeXTSTEP was known to be far easier than on many competing systems. The UI was consistent and refined. Tim Berners-Lee, credited as the inventor of the World Wide Web, wrote the very first web browser, called WorldWideWeb, in 1990 on NeXT (Figure 3-1), and even ...

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