Einführung in GNUstep
GNUstep ist eine freie, objektorientierte, plattformübergreifende Entwicklungsumgebung, die nach Einfachkeit und Eleganz strebt. GNUstep baut auf der OpenStep-Spezifikation entwickelt von NeXT (jetzt Apple Computer Inc.) auf und setzt viele Erweiterungen um, u.a. von Mac OS X/Cocoa.
GNUstep ist...
...ein objektorientierter Baukasten für Werkzeuge (Konsolenprogramme)
Die ersten zwei Pakete (GNUstep-Make und GNUstep-Base), die die Kernbibliotheken ausmachen, enthalten ein vollständiges System zum Schreiben von nicht-grafischen Werkzeugen in Objective-C. Das Make-Paket lässt sie ein mächtiges System aufsetzen zum Erstellen und Installieren von Werkzeugen und der Paketerstellung. Das Base-Paket enthält alle nötigen Klassen, um ein unglaubliches Aufgebot an Werkzeugen zu schreiben, von Schnittstellen zu Systemwerkzeugen bis zu Werkzeugen zur Kommunikation zu Web- und anderen Servern.
...eine grafische Entwicklungsumgebung
Die Kernbibliotheken enthalten Klassen für die Entwicklung einer vollständigen grafischen Anwendung für fast jeden Zweck. Zusammen mit unseren objektorientierten, grafischen Entwicklungsanwendungen ProjectCenter und Gorm ist es einfach, sehr komplexe Anwendungen in Wochen oder Monaten statt Jahren zu schreiben (oder oft, nie), wie bei anderen Entwicklungsumgebungen.
...ein Desktop
Viele GNUstep-Anwendungen
sind dafür geschrieben, eine mächtige Benutzererfahrung für die
Arbeit an Ihrem Rechner zu bieten. Sie umfassen z.B. unsere
Arbeitsplatzverwaltung GWorkspace und unser E-Mail-Programm
GNUmail. Sie können jeden Fenstermanager verwenden, den Sie
wollen; wir empfehlen aber
GNUstep ist kein Fenstermanager. Und die
GNUstep-Bibliotheken werden zur Zeit nicht von WindowMaker verwendet,
obwohl WindowMaker ein ähnliches Aussehen teilt. Zu keiner Zeit werden sie GNUstep direkt »ausführen«. Sie werden
Programme ausführen und seine Dienste anwenden. Sie mögen dereinst
GNUstep-Distributionen vorfinden, wie es heute GNU/Linux-Distributionen gibt.
Beispiele finden sie bei Simply GNUstep und
der GNUstep Live CD
Ergänzend zum OpenStep-API setzt GNUstep auch viele zusätzliche
Klassen und Methoden um, einige aus dem Cocoa-API, der Kompatibilität
zuliebe. GNUstep ist in der objektorientierten Sprache
Objective-C
geschrieben, einer objektorientierten Obermenge von C.
Objective-C ist sehr einfach, doch sehr mächtig.
GNUstep enthält auch Bindungen zu anderen Sprachen wie Java (JIGS)
und Ruby (RIGS). Für mehr Informationen lesen Sie das
»Zeugnis«
von einem GNUstep-Benutzer. Objective-C
bietet ihnen die volle Leistung einer echten objektorientierten Sprache.
Mit genau einer Syntaxerweiterung gegenüber C und einem Dutzend
neuer Schlüsselworte. Ihre Kraft liegt in ihrer Eleganz und Einfachkeit.
GNUstep bietet eine exzellente, ausgereifte Umgebung für das
Schreiben guter Anwendungen. Es gibt Beweise in Form von
Anekdoten,
dass OpenStep-Entwickler sehr komplexe
gewerbliche Anwendungen in Wochen oder Monaten, statt in Jahren
(oder oft, nie), wie bei anderen Entwicklungsumgebungen, geschrieben
haben. Mit der visuellen Anwendung zur Oberflächen-Modellierung können
Sie ein anständiges Benutzeroberflächengerüst in etwa einem Tag
erstellen, ohne Quellcode zu schreiben. GNUstep arbeitet mit GNOME und KDE zusammen, sowie mit vielen
X11-basierten Festermanagern. GNUstep läuft auf X11 aufgesetzt.
Man kann weiter in C programmieren (da Objective-C eine pure
Obermenge von C ist), und GCC wird bald gemischte
C++-Objective-C-Dateien unterstützen. GNUstep gibt ihnen die
Freiheit, plattformübergreifende Anwendungen zu entwickeln, ohne
die Anstrengung, ein plattformunabhängiges Gerüst von Grund an
aufzubauen. Es bietet eine Menge an Funktionalität,
einschließlich Schriftartdialoge, Unicode-Strings und selbst
Distributed Objects.
Die GNUstep-Bibliotheken sind von der
GNU Lesser (Library)
Public License abgedeckt. Das bedeutet im Allgemeinen, dass
Sie diese Bibliotheken in ihren Programmen (auch nicht-freien)
verwenden können, ohne die Lizenz des Programmes oder von
Bibliotheken, die gegen GNUstep gelinkt sind, zu beeinflussen.
Falls Sie die GNUstep-Bibliotheken mit ihrem Programm ausliefern,
müssen Sie die Änderungen/Verbesserungen, die sie daran gemacht
haben, frei verfügbar machen. Die eigenständigen Werkzeuge in
GNUstep stehen unter der üblichen Lizenz GPL. Mit GNUstep-Base empfehlen wir die Verwendung der
ffcall-Bibliothek, die Stackframe-Behandlung für
NSInvocation und NSConnection bereitstellt.
»Ffcall steht unter der GNU GPL. Ausnahme: Wenn in GNUstep oder in
von GNUstep abgeleiteten Projekten verwendet, stehen die
eingeschlossenen Teile von Ffcall unter der GNU LGPL.«
[Zitat des Autors von Ffcall, Original: "Ffcall is under GNU GPL.
As a special exception, if
used in GNUstep or in derivate works of GNUstep, the included parts
of ffcall are under GNU LGPL"]
Das GNUstep-Logo wurde gestaltet von Ayis Theseas Pyrros. Es
steht für das »Jin&Jang« der Objektorientierung, das Sie »ein Paar
Stufen« weiterbringt.
Viele andere Anwendungen, die für einen Desktop nützlich sind, sind
nicht auf dieser Webseite eingeschlossen, noch sind sie Teil des
GNUstep-Projektes -- Es gibt zu viele Ansichten darüber, wie ein
Desktop aussehen sollte, und wir haben noch keine Entscheidung,
welche man verfolgen sollte. Hier sind zwei aktuelle Projekte:
GNUstep ist kein Fenstermanager
Erweiterungen gegenüber OpenStep
Warum sollte ich Objective-C lernen?
Warum sollte ich GNUstep verwenden?
Warum nicht einfach GNOME/KDE/X11 und C/C++? verwenden
Lizenz
Design
