• 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: CF Portability
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: CF Portability


  • Subject: Re: CF Portability
  • From: Marcel Weiher <email@hidden>
  • Date: Tue, 31 Dec 2002 13:58:04 +0100

On Tuesday, December 31, 2002, at 12:19 Uhr, Rosyna wrote:

Last I checked, GNUStep wasn't a viable option for windows.

This turns out not to be the case. I have recently ported my 50KLOC+ of frameworks to Windows using GNUstep/MinGW for a customer.

Mainly do to installation issues

On the developer side, there is an excellent set of instructions for building GNUstep with MinGW included with the GNUstep makefile package. There are some issues to contend with, but hey, this is Windows we're talking about! You are right that installation + Makefile creation are the most difficult parts to deal with. The code pretty much compiles "as is".

On the user side, there is nothing additional to install, the DLLs and Resources can be put inside your app's directory.

and lack of API completeness.

Both libFoundation and gnustep-base, which are what CoreFoundation compares to, are feature-complete, obvious Apple-only extensions such as AppleScript support notwithstanding.

AppKit also seems to be reasonable by now, at least the GNUstep mailing list has reports of people other than the original developers running GNUstep apps on Windows machines.

CoreFoundation *does* work on Windows.

The latest build does not, according to Apple employees.

If you ask around,

If I "ask around"?!?

I am sure you can find an old version of a compiled CoreFoundation library that works well on windows.

That sounds like an excellent portability strategy: rely on finding older compiled versions of a library. Use a library that is created and supported by a vendor whose economic interests run counter to actually providing Windows compatibility. Simply "assume" that said vendor will provide such compatibility in the future against its own economic interest, and without any statement whatsoever from said vendor that compatibility is even a goal. Assume this despite the fact that the library in question has recently moved from being Windows compatble to not being Windows compatible. Do not be deterred by the fact that said vendor has, in the past, *removed* Windows compatibility from products that were Windows compatible despite *written promises* of *continued* support for Windows.

As I said, this sounds like an excellent portability strategy.

I need a couple of million dollars of venture capital for an on-line pet-food business, can you help me? ;-)

(I don't have such a lib). Not sure if the Notifications (CFUserNotifications or CFNotifications) work on windows though.

Thanks, but no thanks.

Marcel

Ack, at 12/31/02, Marcel Weiher said:

Objective-C/Foundation code is much more portable than CoreFoundation, because OpenSource implementations of Foundation are available (GNUstep base and libFoundation). Use of CoreFoundation is largely non-portable because large parts of CoreFoundation are not OpenSource (only parts are in Darwin).

So if you want to be portable: use Foundaton, avoid CoreFoundation.

--
--
Marcel Weiher Metaobject Software Technologies
email@hidden www.metaobject.com
Metaprogramming for the Graphic Arts. HOM, IDEAs, MetaAd etc.
_______________________________________________
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: 
 >Re: CF Portability (From: Rosyna <email@hidden>)

  • Prev by Date: Re: straight-C DNS lookup with timeout?
  • Next by Date: Re: How to do the opposite of global floating window
  • Previous by thread: Re: CF Portability
  • Next by thread: OTHER_CFLAGS being silently ignored
  • Index(es):
    • Date
    • Thread