PerlおよびGUI。 ツールキットの比較

CPAN、Perlディストリビューション(Strawberry Perl、ActivePerl、MinGW Perl)には多数のモジュールがありますが、それらの1つはGUI(グラフィカルユーザーインターフェイス)を構築するためのグラフィカルツールキットの選択です。 これについて説明します。



個人的には、 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を使用するのが最善の選択肢だと思います。




All Articles