This page (revision-6) was last changed on 21-Jan-2008 13:16 by ThomasBayen 

This page was created on 03-Oct-2006 21:29 by UnknownAuthor

Only authorized users are allowed to rename pages.

Only authorized users are allowed to delete pages.

Page revision history

Version Date Modified Size Author Changes ... Change note
6 21-Jan-2008 13:16 4 KB ThomasBayen to previous Tagging
5 08-Nov-2006 16:41 4 KB PeterHormanns to previous | to last Formatierung
4 08-Nov-2006 16:41 4 KB PeterHormanns to previous | to last Formatierung
3 08-Nov-2006 15:38 4 KB MarkusMonderkamp to previous | to last wx-Tutorials
2 08-Nov-2006 15:29 4 KB MarkusMonderkamp to previous | to last UI und GUIs an JSPWiki angepasst
1 03-Oct-2006 21:29 4 KB UnknownAuthor to last

Page References

Incoming links Outgoing links

Version management

Difference between version and

!!~PerlGUI
Welche GUI-Bibliotheken gibt es für Perl?

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

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

!Perl / Tk

* Homepage http://www.perltk.org
* [Mastering
>>Perl/Tk von OReilly|http://www.oreilly.com/catalog/mastperltk/index.html] - 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:__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)
* wxWindows hei&szlig;t nun [wxWidgets|http://sourceforge.net/projects/wxwindows] und hat mittlerweile die Version 2.7.1
* und [wxPerl|http://wxperl.eu/] #0.50
* wxTutorials von [Perl.com|http://perl.com]: [another GUI for Perl|http://www.perl.com/pub/a/2001/09/12/wxtutorial1.html] und [Making Menus with wxPerl|http://www.perl.com/pub/a/2005/10/06/wxperl_menus.html]
* [Wx|http://www.wxwindows.org/manuals/2.6.3/wx_librarieslist.html#librarieslist] ist von Hause aus C++ -lastig und deckt einen gro&szlig;en Funktionsumfang ab, selbst Netzwermethoden sind dabei.


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