GUI mit Perl/Tk

Perl/Tk-Alternativen

Neben Perl/Tk gibt es auch noch andere GUI-Toolkits, mit denen grafische Oberflächen in Perl programmiert werden können. Eine Durchsicht dieser Möglichkeiten lohnt sich besonders dann, wenn man sich noch nicht auf Tk festgelegt hat. Der Ausblick lohnt auch dann, wenn man von Perl/Tk einfach mal gefrustet ist.

Tkx

Tkx ist eine neuer Wrapper Schnittstelle zu Tk. Die Schnittstelle ist sehr dünn. Der Programmierer schreibt fast schon TCL-Code. Das hat den Vorteil, dass eigentlich alles, was Tk zu bieten hat, unmittelbar abgeschöpft werden kann. Da kein syntaktischer Zucker zwischen Perl und Tk liegt, kann im wahrsten Sinne des Wortes direkt auf die Funktionen und Widgets aus Tk zugegriffen werden. So zum Beispiel auch das moderne Look-and-Feel von TCL. Native Windows-Applikationen sind damit kein Problem mehr.

Der Nachteil ist eben das Fehlen des syntaktischen Zuckers. Perl/Tkx-Programme können im Quelltext sehr unperlisch wirken. Außerdem ist die Lernkurve etwas steiler. Da keine separate Doku mehr für Perl/Tkx-Widgets benötigt wird, muss der Programmierer die Transferleistung erbringen, um die Dokumentation von TCL für Tkx nutzen zu können. Das muss allerdings nicht unbedingt stören.

Prima

Prima ist durchaus sehenswert. Es basiert auf einem kleinen C-Teil. Der Rest ist in Perl implementiert. Das hat zur Folge, dass Prima ziemlich gut portiert werden kann. Prima bringt seine eigenen Widgets mit, die sich optisch nicht am Betriebssystem orientieren. Es spielt also in der gleichen Liga wie Tk und könnte als nicht so hübsch angesehen werden. Dafür ist Prima zuverlässig und unkompliziert.

Win32::GUI

Win32::GUI gibt es nur für Windows. Es implementiert die Windows-GUI-API ( Funktionen aus Windows-DLLs).

Gtk2 / Gtk3

Gtk2 ist eine Perl-Schnittstelle zur Version 2.x der Gimp Toolkit library (Gtk). Es gibt auch schon das Binding zur Version 3.x: Gtk3.

Gtk ist die zu Grunde liegende C-Bibliothek und wird u.A. für die Desktopumgebung GNOME verwendet.

Auf CPAN lungert auch noch das Modul Gtk rum. Um dieses sollte man einen großen Bogen machen. Es ist in keinster Weise fertiggestellt, soll als Schnittstelle zu Gtk in Version 1.x dienen und hat bis auf eine Readme keinerlei Dokumentation.

Wx

Wx basiert auf wxWidgets, einer plattformunabhängigen GUI-API. Es adaptiert das Look'n'Feel der Platform, auf der es ausgeführt wird (z.B. Win32, Motif, Gtk oder MacOS).

Andere

Es gibt auch noch ein paar andere GUI-Toolkits, z.B. Qt oder X11::*, die ich jedoch noch nicht in Aktion gesehen habe.

Top