• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: What is the role of the CF- objects?
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: What is the role of the CF- objects?


  • Subject: Re: What is the role of the CF- objects?
  • From: Shawn Erickson <email@hidden>
  • Date: Tue, 6 Apr 2004 07:57:28 -0700

On Apr 6, 2004, at 2:50 AM, Mark Patterson wrote:

Hi,

One thing that I am confused about is the role of the Core Foundation libraries. Are they from the Pascal days, and being replaced

No. They are actively being worked on and have no real relation to Pascal (CF is a C based API). It exists as a common tool box for the other higher level APIs (frameworks) on Mac OS X (Cocoa, Carbon, and Java).

Carbon is the continuation of the legacy Mac OS API (some coming from Pascal days), however Apple is continuously updating Carbon with new features and capabilities just like it is with Cocoa and Core Foundation. Carbon exist partly to allow easy porting to legacy applications and to allow folks to possibly better interface with C++ code bases (and avoid using Objective-C if for some reason you didn't want to). Anyway all of them are around to stay for a long time.

As a side note aspects of Cocoa also use Carbon and when programing in Cocoa you can easily use Core Foundation, Carbon and/or BSD APIs as needed.

Or are they something that for the foreseeable future Cocoa and Carbon will both use?

Yes.

As a programmer new to Macs, should I look for alternatives in the BSD libraries and Cocoa frameworks?

You can drop down to BSD interfaces but the CF API gives you many extras and some simplifications (CFNetwork is a good example [1]). Of course the Cocoa and Carbon APIs live on top of CF and add even more value to that layer, of course more value some times hides features you want (parts of Cocoa's URL loading API [2] use CFNetwork).

Or is CF still the apple-preferred way to do some things?

Up to you. Use the API layer that yields want you want. Note that CF, Carbon, Cocoa, Java and POSIX are likely to be the most stable of all of the APIs (as in binary compatible from release to release) while lower level APIs nearer the kernel and in the kernel are not stable (except for most of IOKit). Apple is working on a kernel stable API definition and we will likely hear more about it at this years WWDC.

-Shawn

[1] <http://developer.apple.com/documentation/Networking/Conceptual/ CFNetwork/index.html>
[2] <http://developer.apple.com/documentation/Cocoa/Conceptual/ URLLoadingSystem/index.html>
_______________________________________________
cocoa-dev mailing list | email@hidden
Help/Unsubscribe/Archives: http://www.lists.apple.com/mailman/listinfo/cocoa-dev
Do not post admin requests to the list. They will be ignored.


References: 
 >What is the role of the CF- objects? (From: Mark Patterson <email@hidden>)

  • Prev by Date: Re: Itunes structure (off-topic)
  • Next by Date: Re: NSTableView drop targeting error
  • Previous by thread: Re: What is the role of the CF- objects?
  • Next by thread: NSLog and [NSDictionary description], bug?
  • Index(es):
    • Date
    • Thread