[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Some questions about GNUStep
From: |
Riccardo Mottola |
Subject: |
Re: Some questions about GNUStep |
Date: |
Tue, 15 Jun 2010 23:13:24 +0200 |
User-agent: |
Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:1.9.1.9) Gecko/20100418 SeaMonkey/2.0.4 |
Hi,
other have replied, but I'll just drop in my opinions too.
In order to figure out how to best contribute to the development
efforts, I have a few questions:
How far are you for MAC OS X 10.5 level support in the AppKit?
We support many methods ranging from original OpenStep (mostly Mac 10.0)
to even stuff of 10.6. Mostly we add stuff that is indeed useful. Not
everything which Apple adds from release to release is really "useful".
We miss also some stuff that is recent and not trivial to implement
(like text tables ...)
I'd say that if you stick around 10.3 you have a sure bet, but check the
documentation!
We take care that our implementations are Cocoa compatible. So if you
code and test regularly on GNUstep, you know you don't use unsupported
features and your code will work on Mac too (this is the approach I
follow for all applications which I maintain for both platforms).
Has anyone started retargeting to other than X11 for Linux, like SDL?
We can target many unices, FreeBSD, NetBSD, OpenBSD as well as HURD.
The backend itself can work on X11 through different libraries (current
preferred is cairo, libart was up to the last release and it has the
highest quality rendering but some quirks, and directly xlib, which is
low-resource usage, fast display export and portable but lacks some more
advanced graphic stuff because it is harder to implement).
We target windows too were we directly use GDI currently. Some people
want to go through the cairo layer on windows too, which would provide
more feature uniformity and less code maintenance.
A backend directly on OpenGL was done experimentally. mgStep, an
embedded fork of GNustep, has a direct framebuffer support in the works.
It would be perfectly possible on standard GNUstep too.
In the past we supported a display-postscript backend (the OpenStep
ancestor of Quartz, so to say) but it was later dropped because X11
support for dgs was never really good and complete.
So you can see that the three layers base-gui-back offer a high degree
of flexibility.
How do you avoid needing Core Foundation?
To be honest? If you Write a pure Obj-C program you do not need
CoreFoundation. CoreFOundation was created to allow people using C
instead of Obj-C to port their programs (Carbon, which made it possible
to port old Mac software and also C-coded apps from other platforms like
Vim).
There are Frameworks to provide this if really needed, as other explained.
What exactly is in core/gui/Headers/Additions/GNUStepGUI?
GNUstep provides additions to both Base and Gui. They are called
additions because they are new methods or entire classes not present in
the OpenStep specification (or, now, Cocoa). Some of them can be quite
convenient. It is possible to build the additions layer only on Mac, to
provide support for porting an application from GNUstep to Mac and
maintaining it native.
Riccardo