discuss-gnustep
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: OpenOffice.org on OS X and GNUstep


From: Adrian Robert
Subject: Re: OpenOffice.org on OS X and GNUstep
Date: Fri, 07 Oct 2005 10:23:07 -0400


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.)





reply via email to

[Prev in Thread] Current Thread [Next in Thread]