PerlGUI#

Welche GUI-Bibliotheken gibt es für Perl?

Perl-GTK#

Perl-Qt#

Perl / Tk#

Erfahrungen#

ThomasBayen hat sich in 2004 intensiv mit GUIs unter Perl beschäftigt. Sein Fazit: Die obigen drei sind die einzigen mit einer halbwegs funktionierenden API. Dazu kommt eventuell noch das Java::Swing-Modul, mit dem ich noch keine Erfahrung habe (wohl aber mit Swing an sich, das ich empfehlen kann).

  • Die QT-Implementation ist von der Struktur her grosser Mist, weil sie nicht richtig in das Perl-Objekt-Modell integriert ist. Dies liegt daran, daß QT an sich absoluter Mist ist, wenn es darum geht, es in irgendeiner anderen Sprache als C++ zu benutzen. Die originalen "Signals & Slots" können logischerweise nicht direkt von Perl aus benutzt werden und so hat man es in der Perl-API eigentlich immer mit zwei Objekten zu tun: Dem gewrappten C++-Objekt und einem Perl-Objekt. Wer eigene Widget-Typen erstellen und wie native Widgets integrieren will, hat keine Chance, dies zu erreichen.
  • Perl/Tk ist eine echte Perl-Lösung. Man kann in Perl komplett eigene Widgets schreiben, die sich dann nahtlos in das Toolkit integrieren. Es existiert schon eine ganze Weile und kann als ausgereift gelten. Es ist mit einem überschaubaren Aufwand zu lernen und insofern schnell benutzt. Es gibt eine lebendige Mailingliste, die auch hilft. Der Nachteil ist, daß es keine so große Community hat wie moderne Toolkits (GTK oder QT) und deshalb vom Design und von "neumodischen" Widgets und Features her etwas altbacken wirkt. So fehlt z.B. die "Magie" der Textausgabe unter Pango genauso wie ein vernünftiges HTML-Widget, von der Integration in einen modernen Gnome- oder KDE-Desktop ganz abgesehen. Perl/Tk ist im Prinzip auf jeden Rechner portabel, auf dem Perl läuft. Ich selber habe ein identisches Programm unter Linux und Windows laufen gehabt.
  • Die GTK-Umsetzung für Perl ist sehr gelungen. Dies liegt im übrigen auch an der Struktur von GTK, die dies gut fördert (Ja - Stallman hat Recht: Es IST strukturell besser als Qt). Leider ist die Perl-Doku recht dürftig und die Nutzerbasis ist bei GTK-Perl auch sehr klein. Auf der anderen Seite sind gerade diese zwei Punkte natürlich bei GTK an sich ein grosser Vorteil. Ich habe ausschließlich mit der C-Doku gearbeitet und mich dort gut zurechtgefunden. Allerdings muss man sich dazu schon etwas ernsthafter mit dem Thema auseinandersetzen. Die Integration in Perl-Objekte hat mir ganz gut gefallen und es ist möglich, eigene Widget-Typen zu erstellen und mit nativen Typen zu kombinieren. Ein Betrieb unter Windows war nicht möglich (kann sich aber inzwischen geändert haben).
Fazit
Perl/Tk ist das richtige, um mal eben eine GUI an ein Programm dranzustricken. Es ist auch die "most perlish" Lösung. Das schönste Ergebnis ergibt sich mit GTK, das von der Grundlage her viel leistungsfähiger und moderner ist; allerdings hat es eine etwas längere Lernkurve. QT ist für kleine Aufgaben zu kompliziert und für große Aufgaben völlig ungeeignet, solange man keine eigenen Objekttypen erzeugen kann; damit ist es der große Verlierer des Vergleichs.

Nachtrag(21.09.2005): wxPerl#

Nicht zu vergessen ist das GUI Framework Wxwindows, das portabel und laut Homepage (http://www.wxwindows.org/) auf jeder unterstützten Plattform ein natives Look & Feel bietet. Mit wxPerl (http://wxperl.sourceforge.net/) steht eine API zu diesem (O-Ton) "awesome" Werkzeug bereit. Aktuell ist wxwindows Release 2.6.1 und ~wxPerl in der Version 0.25 vom 12.07.2005.

Update zu wxPerl am 08.11.2006: (von MarkusMonderkamp)

Wenn ich mehr Erfahrungen in der Handhabung habe, werde ich Euch hier daran teilhaben lassen.

Tags:  Perl

Add new attachment

Only authorized users are allowed to upload new attachments.
« This page (revision-6) was last changed on 21-Jan-2008 13:16 by ThomasBayen