|
From: | Sean Fulton |
Subject: | Re: OpenOffice.org on OS X and GNUstep |
Date: | Wed, 2 Nov 2005 15:17:02 -0500 |
User-agent: | Unison/1.6.2 |
On 2005-10-07 10:23:07 -0400, Adrian Robert <arobert@cogsci.ucsd.edu> said:
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=-1What do you think about showing, in some official way, to the OO.org developmentcommunity, 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 thosewho 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.
If they're paying attention at all they won't even consider Carbon. I believe Apple has essentially told developers that Carbon is dead. If you want your app to run (well) on OS X on Intel, you have to develop with Cocoa. Porting something to Carbon now would be a waste of time.
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.)
S.
[Prev in Thread] | Current Thread | [Next in Thread] |