Re: Where are the boundaries of Cocoa and how are the boundaries perceived ?
Re: Where are the boundaries of Cocoa and how are the boundaries perceived ?
- Subject: Re: Where are the boundaries of Cocoa and how are the boundaries perceived ?
- From: Ian Joyner <email@hidden>
- Date: Tue, 2 Oct 2007 10:57:23 +1000
Cocoa is a high-level framework built on many underlying
technologies. Even Foundation I don't think is a part of Cocoa. Case
in point is I did some work on a Cocoa interface to another language
a number of years ago. This language had its own library for data
structures equivalent of Foundation. It was better to use the native
arrays and collections rather than Foundation, only providing a
little bit of Foundation to convert native arrays to NSArrays when
calling a Cocoa function that required them.
I think KVC and KVO are underlying technologies that have wider
applicability than just Cocoa, similarly with Quartz and Quicktime.
Just because Cocoa heavily uses these does not make them part of
Cocoa. Cocoa relies on them, but they do not rely on Cocoa.
As for MVC, often this is difficult to categorize in itself, but I
had a concrete realization of something that was before intuitive –
that Interface Builder deals in all of MVC. I think IB is part of
Cocoa, It seems that something called Interface Builder would just
deal in the V, but Cocoa bindings allow you to freeze-dry controller
objects and I'm sure in simple applications, model objects can be
stored as part of the nib as well (or just defaults). Maybe
'Interface Builder' is a bit of a misnomer in this case, and I'm sure
leads to confusion for those coming from other environments where you
have a visual window painter, expecting it to just do V, when IB does
at least VC and maybe all MVC.
NSDocument is another interesting case. I used to think it was the
root of the model, but now it seems like more a controller that
references the model, and because you set it as a delegate for other
view and controller objects.
Ian
On 02/10/2007, at 1:33 AM, Erik Buck wrote:
Do we all agree that Core Data, Foundation, and the Application Kit
compose Cocoa ? What other sub-frameworks should be considered
part of Cocoa ?
If I attempt to classify parts of Cocoa based on whether they are
part of the Model, the View or the Controller subsystems in an MVC
design, I see some interesting ambiguities. For example, the
Application Kit primarily contains objects that help you build
Views, but some of the sub-systems within AppKit are themselves
partitioned into separate Model, View, and Controller pieces as
demonstrated by the text architecture and the document
architecture. Core Data is almost exclusively intended to support
development of Models, right ?
And where do KVC/KVO/Bindings fit into the picture? Key Value
Observing and bindings are pretty clearly Controller technologies,
but Key Value Coding could arguably be most applicable to Models.
Where are KVO and Bindings really implemented ? Some of it is in
Foundation (categories on NSObject) and some is in AppKit.
Foundation defies being grouped in any of the MVC subsystems. It
truly is a foundation upon which all of the MVC subsystems are built.
To simplify my question, which of the following is considered
part of Cocoa, and have I missed anything ?
Exception Handling Framework
Message Framework
Address Book Framework
Application Kit Framework
Automator Framework
Core Data Framework
Foundation Framework
iChat Instant Message Framework
Preference Panes Framework
Quartz Core Framework
QuickTime Kit Framework
Screen Saver Framework
Security Foundation Framework
Security Interface Framework
Web Kit Objective-C Framework
Sync Services Framework
Within Cocoa, how is the MVC design expressed and can sub-
frameworks of Cocoa be categorized according to MVC ?
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
40sportstec.com
This email sent to email@hidden
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden