Re: What is the role of the CF- objects?
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.