On Oct 6, 2005, at 10:17 AM, Stefan Urbanek wrote:
Hi,
Following article made me think:
http://macslash.org/article.pl?
sid=05/10/05/1132218&mode=thread&threshold=-1
What do you think about showing, in some official way, to the
OO.org development
community, that there is GNUstep that can be used as an option for
creating at
least some parts of OO.org OS X port? I mean, main argument should be:
- if they would use GNUstep, they will widen developer and support
base to those
who do not own a Mac and therefore do not have OS X
- on OS X they would use Cocoa, on other platforms they can use
GNUstep for
development
- with GCC 4+ it would be possible to mix Objective C (cocoa) code
with C++
(oo.org) code
I think they are not very aware of GNUstep.
We should definitely try to raise their awareness. I see on a
referenced page there that they are thinking Cocoa, which is good,
but my biggest fear is still that they would undertake the effort
using Carbon, which other big and recent projects have done (Mozilla
port, Andrew Choi's Emacs and XEmacs ports, etc.). I think this
usually happens when the developers in charge come from a Carbon and/
or C++ background or start from an OS 9 base. It's unfortunate, both
because it shuts out GNUstep, and because using the higher-level
Cocoa API is cleaner, easier, and more maintainable.
Case in point is Emacs on Aqua (http://emacs-on-aqua.sf.net), where
the code for the Cocoa/GNUstep windowing system support is half the
size of the other two (X and W32), yet provides greater
functionality. That's for emacs-20, but this is remaining true in my
porting effort for emacs-23 (http://emacs-app.sf.net), where
comparison with the Carbon port is possible. (Carbon's about 2x
Cocoa -- W32 is about 2.8x (though that includes a unix compatibility
layer), and X is over 3x, though this is Xlib we're talking about..)
Emacs on Aqua (not to toot my own horn here) is also an excellent
illustration of Cocoa-GNUstep compatibility. There are only a few
#ifdefs distinguishing between the two, most relating to the fact
Emacs goes to pretty low levels to do text rendering. (OOO probably
needs to as well -- won't get away with just slapping in an
NSTextView there -- but this code can be encapsulated well.) There's
no significant functionality that the port on OS X has that the
GNUstep version doesn't. (Now if I tried to implement the printing
framework users keep asking for, maybe that would change.)
GNUMail is the other major cross-platform app I know about that
demonstrates the same points -- and I think there are others?
BTW, is gcc-4.1 needed to link separate C++ and ObjC files, or just
to mix in the same file? (In Emacs, ObjC code lives in its own
files, and provides a C interface for external interaction, though
there's only C, no C++ there.)
_______________________________________________
Discuss-gnustep mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/discuss-gnustep