Re: Cocoa, a complete Mac OS X API?
Re: Cocoa, a complete Mac OS X API?
- Subject: Re: Cocoa, a complete Mac OS X API?
- From: email@hidden
- Date: Wed, 13 Jun 2001 13:44:35 -0700
One thing that I think you need to keep in mind, when you use the term "Mac
Friendship", you need to distinguish between "Old Mac" and "New Mac". The
example you gave concerning resource forks - it is definitely true that
Carbon has features to handle them and Cocoa doesn't. It's also true that
Apple is discouraging the use of resource forks altogether for any new
development. In Carbon application, you are likely to already have stuff in
a resource fork that you need to access; there should not really be any
parallel need in Cocoa, and to provide such functionality would tend to
encourage people to keep using resource forks.
Your comment about getting the list of running processes - while I wouldn't
mind a Cocoa wrapper for this functionality, it is already provided by the
BSD Layer; I'd much rather spend their efforts elsewhere for the time being
since I can get to this type of information, even though it's not as easy
as it would be if they were to package it up neatly into a Cocoa class.
Inconsistencies between class implementations and user interface guidelines
stem mostly from the fact that NextStep has been around for something like
13 years, but the user interface guidelines go back a few months in their
current form. And remember that guidelines are just that - guidelines, and
there are sometimes valid reasons to not follow them. Why would they go out
of their way to remove existing functionality?
So, I'll be the first to admit that there are some gaps in functionality in
Cocoa, and more gaps in the documentation, but I think your logic that you
should use Carbon instead of Cocoa for new development is flawed..
On June 13, 2001, you wrote:
Hello to all!
First of all, I must say that I am enjoying a lot learning Cocoa by
examples, "Learning Cocoa" book, this list and the cool web sites
around. I am newbie in Cocoa, but not in programming and I have found
the O'Reilly book worth its money.... but that's another story :-)
The feeling I have about Cocoa right now is that it is a superb API,
with a excellent IDE (PB & IB) but that is lacking some key features for
common Mac apps. I have read some examples of this in this list, as the
"AuthorizationExecuteWithPrivileges" lack of features, the Aqua
Interface Guidelines about NSBoxes and its titles and the actual
implementation inconsistence, the inexistent API for getting the list of
running process, and one of the most annoying things about Cocoa for me
is its total lack of support for resources forks.
Almost all this things can be done using Carbon calls (making a Carbon
wrapper is one thing I do not have any idea on how to do) buuuuut, I
thought that Stevie told to us that the state-of-the-art API for
developing Mac OS X applications is Cocoa, and Carbon is just to make
the Mac OS 9 leap. But it turns out that Carbon is more feature rich
than Cocoa, in terms of Mac friendship.
So the fact is that I started learning Cocoa, and realized that most
ideas for applications involved accesing to resource forks, but this
cannot be done with Cocoa. I have to use Carbon. Maybe it is time to
spend some more bucks in "Learning Carbon" :-P
Jorge Salvador Caffarena
http://homepage.mac.com/eevyl/