個人的には、 ActiveStateからActivePerlに決めました。 仕事にはKomodo IDEとPerl Dev Kitも使用しています。
そこで、GUIを操作するための4つの主要なモジュールを選択し、クロスプラットフォームを提供しました。
Perl / Tk:
-Tkライブラリへのインターフェースです。 DynaLoader / XSを介して動作します。
-オブジェクト指向アプローチ。
-時代遅れの外観。
-優れたドキュメント。
-2007年以降は更新されていません。
ドキュメントのサンプルプログラム:
#!/usr/bin/perl -w
use Tk;
use strict;
my $mw = MainWindow->new;
$mw->Label(-text => 'Hello, world!')->pack;
$mw->Button(
-text => 'Quit',
-command => sub { exit },
)->pack;
MainLoop;
Tkx:
-Tkへのインターフェース。 Tcl層の形式のブリッジが使用されます。
-第二言語の負荷による生産性の低下。
-プログラミングへの異なるアプローチ。 Tcl言語を知っている必要があります。
-サードパーティのパッケージを使用できます。
-「ネイティブ」デザイン。
-ActivePerlの事実上のコアです。
-チュートリアルがあります。
コード例:
use Tkx;
my $mw = Tkx::widget->new(".");
$mw->new_ttk__button(
-text => "Hello, world",
-command => sub { $mw->g_destroy; },
)->g_pack;
Tkx::MainLoop();
WxPerl:
-WxWidgetsグラフィックライブラリ。
-オブジェクト指向インターフェース。
-「ネイティブ」デザイン。
-より大きなファイルサイズ。
-インストールの問題。
use Wx;
my $app = Wx::SimpleApp->new;
my $frame = Wx::Frame->new( undef, -1, 'Hello, world!' );
$frame->Show;
$app->MainLoop;
Gtk:
-Glib / Gtkを使用します。
-特定の外観。
-テーマを使用できます。
-インストールに問題があります。
-Windows、OSXの問題。
Helloworldの例
use Gtk2 -init;
my $window = Gtk2::Window->new ('toplevel');
my $button = Gtk2::Button->new ('Hello world');
$button->signal_connect (clicked => sub { Gtk2->main_quit });
$window->add ($button);
$window->show_all;
Gtk2->main;
残念ながら、私はこの奇跡をインストールして実行することに成功しませんでした。 OS:Windows Vista。
したがって、公式のスクリーンショットを提供します。
個人的には、Tk(設計が重要でない場合)またはTkxを使用するのが最善の選択肢だと思います。