http://www.perlmonks.org?node_id=219788


in reply to Tk vs. wxPerl


wxPerl
======

- looks like the window manager of the O.S. (e.g. on Win32 it looks like the standard windows applications, so no look or functionality problems)
- relatively "hard" to program (it is strongly OO)
- on win32 its dll is 1250K + (it has to "wrap" the instructions to bind the API of the WM)
- multiplatform (soon also on Mac OS X)
- young (not wx library that is 10 yeras old) but it's growing up and it is developed by a IMHO great programmer, Mattia Barbon.
- not so well documented
- perl2exe is not working so well with wxPerl, perlapp ok

Perl/Tk
=======

- it has its own look and feel
- well documented (a book) and supported (a newsgroup)
- mature software
- multiplatform
- on win32 its dll is around 500K (plus other dll for widgets)
- both perl2exe and perlapp work well with Perl/Tk

If you need multiplatform you can look at Prima that is a GUI with its own look and feel, multiplatform, 2d design and animation oriented, with a lot of widgets.

If you're programming on Win32 you could look at Win32::GUI, that works only on Win32 but it is light because use Win32 GUI API "directly".

Replies are listed 'Best First'.
Re: Re: Tk vs. wxPerl
by PodMaster (Abbot) on Dec 14, 2002 at 20:09 UTC
    - relatively "hard" to program (it is strongly OO)
    Hogwash.

    not so well documented
    Hogwash. It's plenty documented.

    wxperl-users@lists.sourceforge.net

    http://wxperl.sf.net

    As for the size, just use UPX like everybody, and be happy (Wx.dll size went from 1,416,192 to 248,832 bytes, now that's compression ~ Tk.dll went from 491,520 to 199,680)

    You know what, i'm gonna convince Mattia to distribute it that way to begin with.

    update: You can also embed Scintilla's fancy syntaxt hilighting widget into all your wxPerl apps (c/c++,perl,html....)


    MJD says you can't just make shit up and expect the computer to know what you mean, retardo!
    ** The Third rule of perl club is a statement of fact: pod is sexy.

      The above node Re: Tk vs. wxPerl is obviously IMVHO, so *for me* procedural programming is easy than OOP.

      For example, *for me* is easier to write the hello world written in Tk
      use strict; use Tk; my $mw = MainWindow->new( -height => 100, -width => 350); $mw->title ("Hello, world!"); MainLoop;
      than wx one:
      use strict; use Wx; package MyApp; use vars qw(@ISA); @ISA = qw(Wx::App); sub OnInit { my( $this ) = shift; my( $frame ) = MyFrame->new(); $this->SetTopWindow( $frame ); $frame->Show( 1 ); } package MyFrame; use vars qw(@ISA); @ISA = qw(Wx::Frame); sub new { my( $this ) = shift->SUPER::new( undef, -1, 'Hello, world!', [200,200] , [350, 100] ); return $this; } package main; my( $app ) = MyApp->new(); $app->MainLoop();
      So IMVHO to programming wxPerl you have to know more Perl than to programming with Tk.

      Documentation issue: Tk has 3 books from O'Reilly, several chapters inside other books (Advanced Perl Programming, Professional Perl Development, others?), 1 newsgroup with years of posts, searchable with groups.google.com or with www.peltk.org, years of development with tons of scripts aka large community.

      wxPerl unfortunately has only a mailing list without a working search engine and few excellent tutorials.

      But Perl/Tk is years old and wxPerl is young. This scenario is IMVHO the normality.

      DLL issue: my dir command on win32 says those dimensions. Only this.

      Update: fixed typos
        use Wx qw[:everything]; *Wx::App::OnInit = sub {1}; my $a = Wx::App->new; my $f = Wx::Frame->new( undef, -1, 'Hello, world!', [200,200] , [350, 100] ); $a->SetTopWindow($f); $f->Show(1); $a->MainLoop(); __END__
        Books don't mean much (perl can be easily learned from POD, and why should learning a simple GUI framework require a book).

        The wxWindows docs are plentiful and they are extremely clear, and the wxPerl version of them comes with Perl: notes, which explain any differences in the API.

        The wxPerl mailing list does indeed have a search engine, even if you failed to see it (i do not just post links blindly, loook to your left here), and Mattia is very responsive (not many questions come up that are unanswereable by Mattia, and those that are, you just take straight to the wxWindows mailing lists).

        update: wxPerl is less of a mystery than perlTk ever is/will be to anyone new to either.


        MJD says you can't just make shit up and expect the computer to know what you mean, retardo!
        ** The Third rule of perl club is a statement of fact: pod is sexy.

      WOW! upx is awesome. thanks for the link.