=head1 Visual Perl/Tk GUI development solution for beginners and professionals By Felix Liberman (felixl@rambler.ru) English version editor: Uri Bruck (http://translation.israel.net) =head1 Agenda · Why Perl/Tk ­ Other languages/libraries ­ Comparison table · Alternative visual tools for Perl/Tk · What beginners need · Why experienced programmer need it · What VPTK offers · Features that are not supported (yet) · Demo =head1 Why Perl/Tk · We are familiar with Perl, so a new GUI environment ramp-up should not take much effort · Perl has big advantage against other languages ­ it requires significantly less development and debug effort · Perl/Tk runs on all GUI-compatible platforms, so it could be used when multiple platforms compatibility is critical · We should consider that for really big GUI projects the Perl interpreter limitations could become a bottleneck, but contemporary HW/SW trends make this consideration increasingly outdated We use Perl mostly for console or web applications development, while the GUI sector is already dominated by GTK, QT and tcl/tk, so why does Perl/Tk still remain a good alternative? =head1 Why Perl/Tk (Comparison table) Perl/Tk tcl/tk Perl GTK QT Cross-platform + + ? + Ready to run + + + + Easy ramp-up + - + - Development ? + + ? automation =head1 Alternative visual tools for Perl/Tk · If our choice is Perl/Tk we need a good tool for development automation · There are many commercial solutions, but most are oriented to MS Win · Official CPAN project "ZooZ" appears to be not quite ready for practical use · "GLADE" and other open-source tools are too general, can't produce instant code and require a specific platform or additional installations =head1 What beginners need · When starting to learn a new GUI development package one wants to see what it offers and how it "kicks" in real life (not in a book) · Beginners surely won't be familiar with geometry managers and numerous widget options but need some practical way to learn them · It's easier for a beginner to "play" with his design interactively, without re-running the same program thousands of times · For a beginner it's important to see what generated code looks like ­ for future use of the same tricks in "manual mode" =head1 Why experienced programmers need it · Experienced programmers also need a visual environment for design automation: ­ For GUI sketching when working with customers ­ For quicker development of small projects that don't require special GUI tricks ­ For proof-of-concept experiments ­ For GUI project initial planning =head1 What VPTK offers · Free, easy to install tool that works in every place where Perl/Tk installed · Beginner-friendly context sensitive help based on Perl/Tk documentation · User-side code support (callbacks & global variables) · Two output formats: ready-to-run executable and sub- module code · On-the-fly generated code preview and debug · Geometry manager conflicts resolution (automatic) · Undo/Redo · Cut-'n'-Paste =head1 Features that are not supported (yet) · Non-static GUI tricks · Balloons · Lists/trees/tables contents · Control over all widget's options · Extended widgets set (like mega-widgets) · Functional part before main loop · Free input/output format · Drag-'n'-drop interface =head1 Download You can download for free VPTK (widget edition) here: · http://perltk.org/ => Scripts => General · http://geocities.com/felixdaru/download/vptk_w.tgz =cut