GNUstep.org

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 WindowMaker für ein besseres Erlebnis. (Das WindowMaker-Projekt ist nicht mit GNUstep verknüpft.)
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

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

Erweiterungen gegenüber OpenStep

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.

Warum sollte ich Objective-C lernen?

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.

Warum sollte ich GNUstep verwenden?

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.

Warum nicht einfach GNOME/KDE/X11 und C/C++? verwenden

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.

Lizenz

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"]

Design

Das GNUstep-Logo wurde gestaltet von Ayis Theseas Pyrros. Es steht für das »Jin&Jang« der Objektorientierung, das Sie »ein Paar Stufen« weiterbringt.