[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