Re: what's difference and relationship between CoreFoundation and Fou ndation framework
Re: what's difference and relationship between CoreFoundation and Fou ndation framework
- Subject: Re: what's difference and relationship between CoreFoundation and Fou ndation framework
- From: Marcel Weiher <email@hidden>
- Date: Wed, 5 Sep 2001 15:44:43 +0200
On Wednesday, September 5, 2001, at 02:31 PM, Chad Jones wrote:
Foundation and CoreFoundation though they have similar names and most
of the calls have similar names the two are very different. The two
are two separate frameworks which except for their apparent
similarities are two separate frameworks.
Probably the largest difference is that Foundation is a Cocoa-only set
API calls (can't be used from carbon, command-line etc.)
This is not correct. Foundation can be used essentially from anywhere
that any other C library can be used. I've been using it for command
line programs for ages, as well as web-apps (with and without
WebObjects) etc.
The only problem would be for Carbon/CFM programs that have trouble
linking to Mach-O binaries, but this has very little to do with
Foundation/CoreFoundation and can be worked around.
Furthermore, Foundation is an API with a public specification (the
OpenStep specification) and at least two freely available and portable
implementations: libFoundation and gstep-base, both of which are being
used in professional environment/shipping applications. CoreFoundation,
on the other hand, is an Apple-only API. I tend to view it as exposing
the usually private implementation of a foundation.
Incidentally, I just ported my MPWFoundation (including HOM) to
Linux/i386 yesterday using libFoundation, one of the two freely
available Foundation implementations. There were some mismatches, but
really only for advanced parts of the code where I dig deep into the
runtime (of course, this also revealed that much of that could probably
be simplified...) After that, the XML-Kit and basic Postscript
interpreter took less than 1 hour each.
where as CoreFoundation can be used by all types of programming on
OSX. Also, the type of objects the two use are very different because
of the compatibility difference between the rest of the system.
Er, the objects are supposed to be exactly the same, or am I
misunderstanding you here?
Regards,
Marcel
--
Marcel Weiher Metaobject Software Research & Development
Get HOM at <
http://www.metaobject.com/downloads/Objective-C>