More about Panther Cocoa

« previous entry | next entry »
Oct. 24th, 2003 | 09:35 pm

Panther shipped!

That means I can go into more detail about what I'm talking about at the CAWUG meeting on Tuesday.

Here's the deal: In Panther, Cocoa includes a ton of new features. Most importantly, Panther Cocoa includes a new AppKit class named NSController.

In Model-View-Controller terms, Cocoa has historically been great for building model objects with FoundationKit and for building view objects with AppKit. But you've generally had to build all of your controller objects from scratch with FoundationKit. This isn't a problem per se but it does mean you have to do work. For instance, you had to write a data source object have an NSTableView display some data.

Now, with Panther Cocoa and NSController you can very easily bind view objects to your data model directly, with no code, right in Interface Builder.

It does this using some technology built on top of Key-Value Coding. Key-Value Observing lets one object watch for changes in an attribute of another and Key-Value Binding lets the values of attributes in two objects be dependent on each other (change one and the other changes).

On Tuedsay at CAWUG, I'm going to demonstrate how all this fits together.

But wait, there's more!

Apple also did quite a bit of optimization work in Panther, including optimizations to how NSView drawing works.

They've even included a new class in FoundationKit called NSSortDescriptor that represents — surprise — a way of sorting a collection! It's pretty much an equivalent of my BDSortOrdering class, which was just a reimplementation of the Enterprise Objects Framework's EOSortOrdering class.

I'll also be talking about some of the other major additions to Cocoa in Panther. There's a lot of cool stuff to cover! Join us! It'll be fun!

Link | Leave a comment | Add to Memories | Tell a Friend

Comments {1}

Fraser Speirs

(no subject)

from: [info]fraserspeirs
date: Oct. 25th, 2003 10:07 am (UTC)
Link

Hey there. Caught your link via Stepwise. I'm a cocoa developer myself and I'm slowly hooking up with more cocoa developers on LJ and elsewhere. Nice to meet you :-)

Reply | Thread