Re: Cocoa et al as HCI usability problem
Re: Cocoa et al as HCI usability problem
- Subject: Re: Cocoa et al as HCI usability problem
- From: Chris Hanson <email@hidden>
- Date: Mon, 19 May 2008 17:16:11 -0700
On May 19, 2008, at 4:33 PM, Alex Kac wrote:
2) Many of the examples you're looking for are not so much in
people's apps, but in AppKit itself meaning that AppKit would have
had to be far more complex, big, and clunky if not for this feature.
Don't underestimate the utility of being able to make use of Objective-
C's dynamic features outside of the core frameworks like AppKit and
Core Data.
There's a long history in the Cocoa community of building new dynamic
functionality atop the core frameworks. For example, NSUndoManager
itself only became part of the Foundation framework with Mac OS X.
Prior to Mac OS X, it was EOUndoManager and was implemented in the
Enterprise Objects Framework (EOF), which was a separate product.
(EOF was originally created by Jack Greenfield, of current Microsoft
"Software Factories" fame, while he was at NeXT.)
One of the things I did several years back was implement a mechanism
whereby -can<Action>: methods were invoked automatically by a generic -
validateMenuItem: implementation. It can be done in Java or C# (I
actually did it for a Cocoa-Java application) but it was much easier
to prototype and get the bugs out of in Objective-C.
Also several years back -- on Jaguar, before Cocoa bindings existed --
I implemented my own bindings-like mechanisms atop key-value coding
and property change notifications. (That I did in Objective-C.)
Again, this was very easy thanks to the combination of rich
information at runtime and a type system that didn't get in the way.
So while the dynamism and reflection supported by Objective-C are
useful to the frameworks that make up Cocoa, they're also very useful
when writing software atop Cocoa. Using the same design patterns and
functionality as the frameworks helps ensure your own software will
fit in well and be approachable by those who work on it next.
-- Chris
_______________________________________________
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