Dies ist eine AlteSeite aus unserem UseModWiki bei Sourceforge.

Bitte überarbeite die Seite, passe die Formatierung für das JSPWiki an und entferne diesen Text.

Vielen Dank!

==
<nowiki>PerlGUI</nowiki> ==
Welche GUI-Bibliotheken gibt es für Perl?

=== Perl-GTK ===
* Homepage GTK2 f&uuml;r Perl http://gtk2-perl.sourceforge.net/
* Tutorials
[http://personal.riverusers.com/~swilhelm/gtkperl-tutorial/ 1] |
[http://www-zeuthen.desy.de/computing/documentation/perl/gtkperl-tutorial/
2]

=== Perl-Qt ===
* Homepage http://perlqt.sourceforge.net/
* [http://renormalist.net/cgi-bin/twiki/view/PM/PerlQt PM-Vortrag]
der [http://renormalist.net/cgi-bin/twiki/view/PM/WebHome Dresden
Perlmongers]

=== Perl / Tk ===

* Homepage http://www.perltk.org
* [http://www.oreilly.com/catalog/mastperltk/index.html Mastering
Perl/Tk von OReilly] - Zitat: ''"Mastering Perl/Tk is the one and
only book you need for programming with Perl/Tk."'' (''ThomasBayen
besitzt eins'')

=== 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): <nowiki>wxPerl</nowiki> ==

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 <nowiki>wxPerl</nowiki> in der Version 0.25
vom 12.07.2005.

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