Native OS X Applications
Some information on the terms
Some information on the terms
In Mac OS X, there are an unusual number of ways to make programs.
One convenient way to classify them is by their user interface,
and another is by the underlying technologies,
both of which can contribute to the user's experience.
"Aqua" is the term Apple has given to the standard look and feel of Mac OS X applications. This is basically what most Mac users think of when they run an OS X program. These programs can take advantage of a multitude of underlying technologies. Cocoa and Carbon refer to the two main methods of designing Aqua applications. Ideally, the user is completely oblivious to this fact, but there still persist differences which make the user experience between programs using one or the other technique differ. I also group AppleScripts, Menubar items, Docklings, and other goodies under the umbrella of Aqua applications.
Since Leopard, Apple has made it explicit and clear that the future of Apple development is Cocoa. This doesn't mean Carbon is going away. In fact, many parts of Cocoa are built on Carbon libraries, and vice versa, but that all future improvements to the APIs that developers use will be on the Cocoa side. Bottom line: Cocoa is the development API of choice on Macs.
I give separate consideration to Java programs, since their GUI is noticeably different from standard Aqua apps. (This may change over time, if the interface becomes dove-tailed with the Aqua behavior.) The great thing about the Java programs, of course, is that they run practically the same on all platforms that support Java.
X11 programs refer to programs which have been made using a windowing system developed in the Unix/BSD/Linux world. There are many applications which may never be ported to Mac-only technologies, so being able to run this programs widens greatly what's available for Mac users. Since X11 is a whole windowing system, one needs to run what is called an X-Window server. These function in a similar way to running Classic applications (except without Classic's long start-up time), and their windows may look and function in a non-standard way. There are several free X-Window servers available, including one from Apple. (These programs too will gradually become more Aqua-like in their behavior.)
Then there are programs which can only be directly run by opening up a terminal window and typing in some commands, which I'm simply calling Unix applications. Most people prefer not to bother with these applications due to the learning curve often involved, but it's a powerful option for the serious user. Mac OS X is a real Unix-class system and has access to programs far outside the scope of the traditional Mac world.
"Aqua" is the term Apple has given to the standard look and feel of Mac OS X applications. This is basically what most Mac users think of when they run an OS X program. These programs can take advantage of a multitude of underlying technologies. Cocoa and Carbon refer to the two main methods of designing Aqua applications. Ideally, the user is completely oblivious to this fact, but there still persist differences which make the user experience between programs using one or the other technique differ. I also group AppleScripts, Menubar items, Docklings, and other goodies under the umbrella of Aqua applications.
Since Leopard, Apple has made it explicit and clear that the future of Apple development is Cocoa. This doesn't mean Carbon is going away. In fact, many parts of Cocoa are built on Carbon libraries, and vice versa, but that all future improvements to the APIs that developers use will be on the Cocoa side. Bottom line: Cocoa is the development API of choice on Macs.
I give separate consideration to Java programs, since their GUI is noticeably different from standard Aqua apps. (This may change over time, if the interface becomes dove-tailed with the Aqua behavior.) The great thing about the Java programs, of course, is that they run practically the same on all platforms that support Java.
X11 programs refer to programs which have been made using a windowing system developed in the Unix/BSD/Linux world. There are many applications which may never be ported to Mac-only technologies, so being able to run this programs widens greatly what's available for Mac users. Since X11 is a whole windowing system, one needs to run what is called an X-Window server. These function in a similar way to running Classic applications (except without Classic's long start-up time), and their windows may look and function in a non-standard way. There are several free X-Window servers available, including one from Apple. (These programs too will gradually become more Aqua-like in their behavior.)
Then there are programs which can only be directly run by opening up a terminal window and typing in some commands, which I'm simply calling Unix applications. Most people prefer not to bother with these applications due to the learning curve often involved, but it's a powerful option for the serious user. Mac OS X is a real Unix-class system and has access to programs far outside the scope of the traditional Mac world.