[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Integrating Swarm and Cocoa on MacOS X
From: |
W . Northcott |
Subject: |
Integrating Swarm and Cocoa on MacOS X |
Date: |
Wed, 25 Sep 2002 12:15:48 +1000 |
First I changed the title of this thread to try and more accurate reflect
where the dicussion had gone.
Secondly, I felt my discussion with Phil was fragmenting into a mixture of
detail and programming philosophy that was not going anywhere.
So I will try set out simply what I understand Phil and others have been
writing. Of course given my general ignorance of programming, I may have
got this all wrong. This is of the nature of 'thinking out loud.'
1. We have a problem because Swarm is based on a modified version of the
GNU runtime, whereas MacOS X and Cocoa are based on the Apple runtime that
uses completely different functions. These two runtimes need different
compiler flags and linking against different runtime libraries. So
although they use the same language (Objective-C) one cannot write a Swarm
based App (a model) and link it against classes in Cocoa, or vice versa.
2. It would be way cool to develop and debug Swarm models in MacOS X
Project Builder and be able to take advantage of AppKit and all the other
good stuff on MacOS X. This has the potential to be the easiest Swarm
environment for users to build and the most productive to use.
3. Scott Christley suggested that the way to do this was develop a
library of C functions which could pass messages between objects on the
two runtimes to enable direct and tight integration.
4. Phil is not happy about this because it is low level hacking when we
should do this the OO way. He observes that the Apple foundation classes
already included a mechanism for messaging and receiving responses from
'remote' objects. (Objects on another computer, or another app on the
same computer.) The classes include NSConnection, NSInvocation etc. - see
Apple's distributed object documentation at:
http://developer.apple.com/techpubs/macosx/Cocoa/TasksAndConcepts/ProgrammingTopics/DistrObjects/index.html#//apple_ref/doc/uid/10000102i
(Phil - Have I got this right?)
5. There is a related but seperate issue as to whether Swarm should be
restructured on the GNUstep base rather than being founded on a modified
GNU runtime. The current situation means SDG has to write and maintain
all its own foundation class libraries. This is a difficult task with the
current resources, and means a lot of time is wasted reinventing the same
wheels. As Phil points out this is a negation of the OO philosophy.
Indeed there is the prospect that if the Apple compatible GNUstep classes
are used, then exactly the same source code could compile on MacOS X as on
GNUstep platforms using the local runtimes. This would make problem 1 and
others like it disappear, while making 2 trivial.
I have some difficulty commenting on the GNUstep bit because
www.gnustep.org seems to have gone AWOL.
I am now well hidden behind the parapet. So please fire back.
Bill Northcott
PS. This has nothing to do with the first priority for MacOS X/Darwin
which must be to get the Swarm libraries to work with XFree86 completely
disintegrated from any Apple stuff above the BSD layer.
==================================
Swarm-Support is for discussion of the technical details of the day
to day usage of Swarm. For list administration needs (esp.
[un]subscribing), please send a message to <address@hidden>
with "help" in the body of the message.
- Integrating Swarm and Cocoa on MacOS X,
W . Northcott <=