[sugar] Re: Cocoa and GNUStep,

Antoine van Gelder hummingbird
Thu Dec 28 01:29:30 EST 2006


Ian Bicking wrote:
> (This is probably best discussed on the Sugar list, setting the Reply-To 
> to that)
> 
> Asko Kauppi wrote:
>>
>> I would say it'd be best for you to make a Cairo renderer for it.
>>
>> There's tons of other ways, too, but GnuSTEP is not that ready (I 
>> might be wrong) and I would estimate it to perform poorly under a 
>> 500MHz x86 anyways. Moreover, would you need the windowing, dialogs? 
>> If not, you can skip the window managing layer and just render your 
>> graphics in Cairo. OLPC has that built-in.
> 
> I don't think the performance should be very bad; GNUStep isn't 
> particularly slow.  The laptop does have windows and a window manager, 
> they just don't act like normal windows and window managers.  I think 
> the biggest problem would be the storage overhead -- you get GTK 
> basically for free, since it is going to be distributed with the base 
> system.  Other GNUStep libraries would have to be shipped with the 
> activities that use them, which might make them prohibitively large. 
> There might also be memory overhead problems -- much of GTK should stay 
> in shared memory, and so there won't be a per-activity memory overhead 
> for using those libraries.  The GNUStep and Objective C runtime wouldn't 
> be shared.  I have no idea how large that runtime is, but it's a serious 
> concern.
> 
> Most of the special infrastructure of the laptop that Sugar adds will 
> (I'm pretty sure) be accessible over dbus.  So that calls for good dbus 
> bindings for Objective C -- I'm not sure if those exist.


Calling external C libraries from Objective C is no more difficult than 
from C++ so bindings aren't really needed unless you want a nice Objc OO 
wrapper around them.

Also see:

http://www.gnustep.it/Renaissance/
http://www.cocotron.org/Info/

That said, I would tend to agree with Asko.

Especially if you are re-implementing an existing application it would 
most probably be a lot less work and radically less resource intensive 
to port the viewer component over to Cairo and C (or even Python) than 
trying to get the objc + cocoa code to run under the laptop.

/me burns an incense stick for the continuing fall of solid state memory 
prices.

  - antoine


More information about the Sugar-devel mailing list