Monday, May 10, 2010

Foundation and Application Kit Frameworks

Okay... I thought blogging about what I was learning might motivate me to learn more but life has managed to get in the way and I haven't had the time.  No complaints, though... I have a two wonderful children and a girlfriend I'm crazy about (literally).  Since I haven't had any great ideas for projects, I thought I would just start creating projects using classes contained within the various frameworks that make up Cocoa.  I'm going to start with the Foundation framework classes...

Um... there's a bunch.  I just had a look at Apple's reference manual.  The classes will have to be subdivided even further to keep sane!  Luckily the Foundation Framework Reference manual categorizes them as follows:


  1. Value Objects
  2. XML
  3. Strings
  4. Collections
  5. Predicates
  6. Operating System Services
  7. File System
  8. URL
  9. Interprocess Communication
  10. Locking/Threading
  11. Notifications
  12. Archiving and Serialization
  13. Objective-C Language Services
  14. Scripting
  15. Distributed Objects
That's quite a few categories (and a shitload of classes!).  In addition, since those are all Foundation classes they aren't very interesting to look at so I'm thinking about learning how to use the Application Kit Framework along with the foundation.  Unfortunately, there are even more classes contained with this framework and they aren't categorized as well as the Foundation classes.  Here are the categories listed within the Application Kit Framework Reference:


  1. User Interface
  2. Cocoa Bindings
  3. Text
  4. Fonts
  5. Graphics
  6. Color
  7. Document Support
  8. Printing
  9. Operating System Services
  10. International Character Input Support
  11. Interface Builder Support

It's clear to me that I'm going to have to take some time to look at both frameworks to figure out how I'm going to divide and conquer this.  A thought for an initial approach is to throw out everything that doesn't look interesting and work from there.  A quick attempt would be:

Foundation:

  1. XML
  2. Strings
  3. Collections
  4. Operating System Services
  5. File System
  6. URL
  7. Objective-C Language Services
Application Kit:
  1. User Interface
  2. Cocoa Bindings
  3. Text
  4. Fonts
I'm sure I threw away important stuff but whatever... I'll figure it out.

No comments:

Post a Comment