AA_GNUstep_GuerkanSenguen-GNUGPL.png

© Gürkan Sengün, GNU GPL,

20 Jahre GNUstep

Kantiges Original

,
Wie schön war die Zeit, als Fensterdekorationen noch eckig waren und keine Effekte und transparenten Hintergründe im Terminal von der eigentlichen Aufgabe ablenkten. GNUstep bietet all das – und feiert seinen 20. Geburtstag.

Bei GNUstep handelt es sich primär um eine Funktionsbibliothek für die Ausgabe auf dem Bildschirm, die auf dem X-Window-System aufsetzt. Daneben stellt es auch eine freie, plattformübergreifende und objektorientierte Programmierschnittstelle für Applikationen (API) dar. GNUstep [1] umfasst aber nicht nur die Interaktion über GUI-Fenster, sondern beherrscht auch die Anbindung von Remote Objects als Bestandteil sogenannter Enterprise Object Frameworks (EOF) und WebObjects. Diese Technologien stammen ursprünglich von NeXT [2], das Apple 1996 aufkaufte. GNUstep bietet eine vollständige, freie Implementierung namens GNUstep Database Library (GDL) [3], die über dieselbe Schnittstelle wie EOF verfügt. Die ersten Codezeilen von GNUstep wurden 1994 veröffentlicht, vier Jahre vor GTK+.

Das vergleichsweise überschaubare Entwicklerteam von GNUstep verfolgt das Ziel, eine freie, ausgefeilte und stabile Entwicklungsumgebung in Anlehnung an Cocoa zu erstellen und diese möglichst kompatibel zu halten. Cocoa und dessen Touchscreen-Variante Cocoa Touch dienen der Entwicklung von GUI-Programmen für Apple Mac OS X, den iPod und das iPad und haben ihren Ursprung im OpenStep-Standard [4] von NeXT und Sun Microsystems. Der wiederum spezifiziert eine objektorientierte Programmschnittstelle (API), die zwischen dem Kernel des Betriebssystems und den einzelnen Anwendungen vermittelt.

GNUstep umfasst heute ungefähr zwei Millionen Codezeilen (Abbildung 1), etwa zu gleichen Teilen in C und Objective-C geschrieben. Die Sprache Objective-C erweitert C um Elemente der objektorientierten Programmierung und nimmt dabei Anleihen an Smalltalk. Darüber hinaus bestehen mittlerweile von GNUstep aus auch Anbindungen zu Java, Ruby und Guile. Guile, ein Interpreter für den Lisp-Dialekt Scheme, fungiert als offizielle, werkzeugübergreifend nutzbare Sprache für die Erweiterungen des GNU-Projekts.

Gemessen auf der Basis des Constructive Cost Model stecken mittlerweile 535 Mannjahre Programmierleistung im GNUstep-Projekt. Der größte Entwicklungsschub erfolgte 2005 und 2006; viele Bugfixes, besonders für die 64-Bit-Plattformen, flossen 2014 ein. Die Analyseplattform Openhub betrachtet GNUstep inzwischen als ausgereift und ausgesprochen stabil.

Abbildung 1: Analyse des GNUstep-Programmcodes von Openhub (Ausschnitt).

Was kann GNUstep?

GNUstep schafft mit seinem Entwicklungsansatz die Voraussetzungen dafür, Programme ohne großen Aufwand auf andere Plattformen und Architekturen zu portieren. Damit offeriert das Projekt somit etwas Ähnliches wie GTK+ oder Wine – jedoch für Programme, die bis jetzt nur auf Apple-Plattformen laufen. Der Einsatz der großen Bibliothek aus einzelnen, wiederverwendbaren Softwarekomponenten ermöglicht Entwicklern, schnell anspruchsvolle Software zu bauen. GNUstep unterstützt derzeit GNU/Linux, NetBSD, OpenBSD, FreeBSD, Solaris, Darwin und Windows auf 32- und 64-Bit-PCs sowie ARM-Rechnern; Pakete für OpenSolaris befinden sich in der Validierung. Auf weniger leistungsfähige Geräte wie Mobiltelefone und Handhelds zielt ein Seitenast namens QuantumSTEP [5] ab.

Alle gängigen Linux-Distributionen führen GNUstep-Pakete samt Header-Dateien im Sortiment, um eigene Programme mit einer entsprechenden Anbindung zu entwickeln. Grundsätzlich lässt sich der Programmcode von GNUstep auf jeder POSIX-kompatiblen Unix-Plattform übersetzen, die über den GNU-C-Compiler GCC verfügt oder LLVM/Clang verwendet. Das GNUstep-Wiki [6] bietet eine ausführliche Dokumentation mit einer detaillierten Einführung in die API sowie die bestehenden Klassen.

Zu den zentralen Komponenten von GNUstep gehören das Foundation Kit und das Application Kit. Ersteres beinhaltet beispielsweise die Klassen für Zeichenketten, Zahlen, Arrays, Threads und Objekte. Beim Application Kit handelt es sich dagegen um eine Bibliothek für fensterbasierte, grafische Anwendungen. Es besteht wiederum aus den zwei Komponenten GNUstep GUI Library und GNUstep Backend. Letzteres realisiert ausschließlich das Ansteuern des Grafikdisplays.

The GNUstep Application Project

Der Kern des GNUstep-Projekts umfasst weder einen Desktop- noch einen Window-Manager. Dafür können Sie GNUstep problemlos mit Window Maker (siehe Kasten "Window Maker und GNUstep"), XFCE, GNOME oder KDE kombinieren. Dem modularen Prinzip folgend wurden die Arbeitsflächen- und Fensterverwaltung an andere Projekte delegiert, die auf den GNUstep-Bibliotheken aufbauen. Eine vollständige Übersicht zu den derzeit über einhundert Programmen pflegt das von Riccardo Mottola geleitete GNUstep Application Project [7]. Es verfolgt das Ziel, eine umfassende Zusammenstellung von Software mit Bindung an die GNUstep-Bibliotheken zu erreichen. Derzeit gibt es beispielsweise den PDF-Betrachter Vindaloo, das Adressbuch Addresses, das Kalenderprogramm SimpleAgenda (Abbildung 2), das Vektorzeichenprogramm Graphos, verschiedene Statusanzeigen (CPU-Last, Batteriestatus), einen FTP-Client, eine Uhr, den RSS-Reader Grr sowie diverse Spiele.

Abbildung 2: Termin- und Aufgabenverwaltung mit SimpleAgenda aus dem GNUstep Application Project.

Über die Spezialanwendung DataBasin greifen Sie auf die gespeicherten Daten zu, die sich im cloudbasierten CRM Salesforce befinden. Auch die freie Groupware namens OpenGroupware sowie das ebenfalls freie, äußerst umfangreiche CRM IntarS aus Österreich binden die GNUstep-Bibliotheken ein. IntarS setzt dabei auf GNUstepWeb [8] und gibt sich so genügsam, dass für den Applikationsserver ein Raspberry Pi als Basismaschine ausreicht. Die Bedienung erfolgt ausschließlich über den Webbrowser.

Daneben finden Sie in der Zusammenstellung die komponentenbasierten Umgebungen Étoilé [9] und Backbone [10], zwei vollständige Desktop-Umgebungen mit klarer Linienführung und einheitlicher Bedienung aller GNUstep-Programme. Für beide Umgebungen stehen Schnappschüsse als vorgefertigtes Image für VirtualBox bereit, die einen guten ersten Einblick bieten (Abbildung 3).

Abbildung 3: Der Desktop Étoilé mit dem Webbrowser Firefox und der Textverarbeitung Typewriter.

Window Maker und GNUstep

Viele Anwender bringen Window Maker direkt mit GNUstep in Verbindung – es besteht jedoch kein direkter Zusammenhang über den Programmcode oder die Bibliotheken. Ganz im Gegenteil: Bei Window Maker handelt es sich um ein vollkommen eigenständiges Projekt, das ursprünglich nur zur Anbindung an GNUstep gedacht war. Derzeit nutzt es stattdessen lediglich dessen Symbol, stützt sich jedoch ansonsten auf vollkommen eigene Programm- und Grafikbibliotheken.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 5 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

  • Die GNUstep Live-CD
    Die GNUstep Live-CD erlaubt einen Blick auf eine wenig bekannte Desktop-Umgebung, unter der sich ein Debian-System versteckt. Mit wenig Aufwand lässt es sich auch auf der Festplatte installieren.
  • Gnustep-Live-CD 2.0
    Die Gnustep-Live-CD, ein Linux-System mit dem freien Desktop-Framework, ist in Version 2.0 erhältlich.
  • Mac OSX Software läuft auf Linux
  • Jo´s alternativer Desktop
    Wie Ihr Linux-Desktop aussieht, bestimmen allein Sie. Mit deskTOPia nehmen wir Sie regelmäßig mit auf die Reise ins Land der Window-Manager und Desktop-Umgebungen, stellen Nützliches und Farbenfrohes, Hingucker und hübsches Spielzeug vor. Diesmal soll Window Maker das Ziel unserer Begierde sein – ein ausgesprochen gut ausgestatteter Window-Manager, der einen Vergleich mit Größen wie KDE oder GNOME keineswegs scheuen muss.
  • Neues auf der Heft-DVD
Kommentare

Infos zur Publikation

LU 12/2016: Neue Desktops

Digitale Ausgabe: Preis € 5,99
(inkl. 19% MwSt.)

LinuxUser erscheint monatlich und kostet 5,95 Euro (mit DVD 8,50 Euro). Weitere Infos zum Heft finden Sie auf der Homepage.

Das Jahresabo kostet ab 86,70 Euro. Details dazu finden Sie im Computec-Shop. Im Probeabo erhalten Sie zudem drei Ausgaben zum reduzierten Preis.

Bei Google Play finden Sie digitale Ausgaben für Tablet & Smartphone.

HINWEIS ZU PAYPAL: Die Zahlung ist ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!

Aktuelle Fragen

Drucker Epson XP-332 unter ubuntu 14.04 einrichten
Andrea Wagenblast, 30.11.2016 22:07, 2 Antworten
Hallo, habe vergeblich versucht mein Multifunktionsgerät Epson XP-332 als neuen Drucker unter...
Apricity Gnome unter Win 10 via VirtualBox
André Driesel, 30.11.2016 06:28, 2 Antworten
Halo Leute, ich versuche hier schon seit mehreren Tagen Apricity OS Gnome via VirtualBox zum l...
EYE of Gnome
FRank Schubert, 15.11.2016 20:06, 2 Antworten
Hallo, EOG öffnet Fotos nur in der Größenordnung 4000 × 3000 Pixel. Größere Fotos werden nic...
Kamera mit Notebook koppeln
Karl Spiegel, 12.11.2016 15:02, 2 Antworten
Hi, Fotografen ich werde eine SONY alpha 77ii bekommen, und möchte die LifeView-Möglichkeit nu...
Linux auf externe SSD installieren
Roland Seidl, 28.10.2016 20:44, 1 Antworten
Bin mit einem Mac unterwegs. Mac Mini 2012 i7. Würde gerne Linux parallel betreiben. Aber auf e...