What is best way to design a GUI for a perl based project? WYSIWYG?
Posted on 2004-08-06
I have been writing command line scripts for quite some time now using activestate's komodo development environment. However, one of the major shortcomings of Komodo is the inability to create Window's style graphical user interfaces. Recently activestate published what is now called Komodo 2.x professional and included an exciting new feature called GUI BUILDER. The intent of GUI BUILDER was to provide the Perl programmer with WYSIWYG style GUI development environment and to tighly link this to the code environment of Komodo. This is quite similar to Visual Basic for those of you not familiar with komodo. I played around with GUI Builder and found it lacking in MANY ways. No support, very buggy, code space NOT tightly integrated, very simple subroutine calls would not process, inability to adjust the autogenerated code in any meaningful way, etc. Although it did look "pretty." Maybe in a few years they will have a good product.
Thus began a long investigation into options for PERL programmers concerning GUI development. Ideally, someone would create a program exactly like Visual Basic (Microsoft Visual Studio) but have it called Visual Perl. Low and Behold activestate has this already done, it is called Visual Perl. Has anyone tried using this program? I am not quite sure what the "Visual" part of it is coming from the standpoint of Visual Studio's design methodology: there is no form window for controls to be dragged and dropped; there is only a code window. What good is this? I guess they assume that you will design your GUI with another language like VB and then use system process calls from the VB code space to the PERL scripts that you write? This idea of program design doesn't seem right. I really don't have experience in this manner so any REAL examples someone could give me supporting the use of a WYSIWYG GUI builder with perl would be excellent.
How would I go about using VB to design a user interface, but use Perl for the "guts" of the programming?
But how about a pure WYSIWYG form builder written and designed for Perl? I have tried the following: Guido, The GUI Loft, and GUI Builder from activestate. Perhaps there are more but these were the most prominent. There are also things that use Tk: Perl/Tk, TclTk, etc. However, Perl has definitely been short ended concerning Tk, while Tcl gets all the good support.
Anyway, I hope the above discussion sheds light on where my knowledge level is. I am really interested in being able to combine different programming environments (to the best of all worlds, as they say) but am not quite sure how it is done. Besides using the OS (saving state information in files, system process call, etc.) I do not see how two different programming environments can interoperate. If interoperability is the best solution to my programming needs, ideally I would want to do the following:
1. use VB to create my "front end" GUI
2. use Perl for all programming
3. use SQL for database work.
In the middle is Perl controlling the front and back.
However, I want to use pure PERL solutions. So in a world of just PERL, here is my primary question:
What is best way to design a GUI for a perl based project? (please reference a real example and not some vaguery like "oh, just use Tk and Perl," because that doesn't help at all!!!)
Thank you very much for your help, I look forward to any reply.