Mac Cocoa API
This report is meant to be a summary and review of one of the main facets and important parts of what is commonly referred to as the most advanced operating system in the world, that being Mac Operating System version 10, or Max OS X for short. Specifically, this report shall focus on what is known as Cocoa. In a nutshell, Cocoa is the application programming interface, commonly referred to as an API, that is built in to Mac OS X. If one knows about the history of Apple, they would know that Steve Jobs was a huge part of how Max OS X and the Cocoa API came to be in the first place and a lot of this pathway ended up not involving Apple directly. While there are other options when it comes to programming in the Apple operating system, it is Cocoa that should be used for natively programmed applications in Mac OS X.
Analysis
As was alluded to in the introduction to this report, Steve Jobs did not always have a rosy history with Apple. Of course, Apple was founded by Steve Jobs and Steve Wozniak. Subsequent to that, an experienced executive by the name of John Sculley was hired to head the company and there was a lot of growth. However, there came a point where Sculley and Jobs actively butted heads and this culminated with Jobs departing the company and forming his own. That company came to be known as NeXT Computers. Upon formation of that company, Jobs hired a number of very good engineers and they ended up developing a number of things. This included a computer, a printer, a factory and an overall set of development tools. These items were all very much ahead of the proverbial technology and computer curve at the time. This is perhaps why the company's sales efforts were a flop and the company shifted to a software-only outfit. The prior-mentioned operating system and the developing tools came to be known as NeXTSTEP. While it was by no means a hit with the "average" consumer, the OS was very popular with the scientific and technical communities. Investment banks and intelligence agencies were also rabid fans of the product (Hillegass).
The most important facet of that operating system was its core properties. Rather than using a concealed and secret operating system foundation, the NeXTSTEP operating system and its associated tools were instead based on a Unix core. Of course, Unix is open source and it is used prolifically around the information technology community and has been for years. There are multiple types of Unix (and its cousin Linux), as many people know. The particular "flavor" used by NeXTSTEP was the BSD Unix core. Unix was chosen for several reasons. First, it was open-source and this made it easier for outside entities to program for the operating system. Second, the Unix core (regardless of iteration) is much more stable than Windows XP or any other version. Thirdly, the networking capabilities of Unix are much better than other operating systems (Hillegass).
It was mentioned earlier that Steve Jobs had left Apple to do his own company. He later came back and Apple and NeXT were merged into one company. This proved to be pivotal because the NeXTSTEP OS became what is now known as Apple OS X. Before that, though, Apple was not unlike Microsoft in that they did not reveal its personal secrets and source code. However, they did eagerly release and share the Unix portions of the operating system. This release came to be known as Darwin. The operating system as a whole came with a set of libraries and programming tools that allowed programmers to deal with the associated window manager in an efficient and results-oriented way. These libraries came to be called frameworks. This collection of tools eventually came to be called OpenStep. However, this same set of tools and libraries eventually came to be known as Cocoa, the current Max OS X API that everyone knows and loves. Overall, programming in the Cocoa environment has been done with a computer programming language that is known as Objective-C. Many people might be familiar with the other computer language that is known as C++ but Objective-C is notably different. Both C++ and Objective-C are object-oriented, which runs counter to the older and more archaic programming languages that exist out there. However, C++ and Objective-C are different in that the latter can be both weakly input but will...
Our semester plans gives you unlimited, unrestricted access to our entire library of resources —writing tools, guides, example essays, tutorials, class notes, and more.
Get Started Now