Как создать полноценное веб-приложение на Perl? - PullRequest
3 голосов
/ 16 февраля 2010

У меня есть скрипт командной строки Perl, который я хочу преобразовать в rich. кроссплатформенное настольное приложение с графическим интерфейсом. Какой лучший способ сделать это. Я хочу внутренний и логический код в Perl, но графический интерфейс должен быть богатым веб-приложением.

Ответы [ 4 ]

12 голосов
/ 16 февраля 2010

Я работал над модулем Perl XUL :: Gui в CPAN, который использует Firefox в качестве хост-платформы для рендеринга кроссплатформенных графических интерфейсов из Perl. Все, что вам нужно, это установить Firefox на целевые платформы. В настоящее время он находится в разработке, но может быть достаточно стабильным для ваших нужд. Вот краткий пример того, как выглядит синтаксис:

use XUL::Gui;

display Window title => 'Foo Processor',
    Hbox(
        (map {
            my $id = $_;
            CheckBox id => $id,
                label   => "use $id",
                option  => sub {shift->checked eq 'true' ? " -$id" : ()}
          } qw/foo bar baz/
        ),
        TextBox( id => 'num', 
             type   => 'number', 
             option => sub {' -num ' . shift->value}
        ),
        Button( label => 'run', oncommand => sub {
            my @opts = map {$ID{$_}->option} qw/foo bar baz num/;
            $ID{txt}->value = `fooproc @opts`;
        }),
    ),
    TextBox( FILL, id => 'txt' );

Поскольку он находится в стадии разработки, если у вас есть какие-либо пожелания (или какие-либо ошибки), сообщите мне.

Кроме того, поскольку вы находитесь внутри Firefox, любые веб-технологии, которые поддерживает Firefox (canvas, iframes, flash ...), полностью доступны из Perl. Для компонентов графического интерфейса вы можете использовать любую комбинацию тегов HTML и XUL.

2 голосов
/ 17 февраля 2010

Mojolicious - это легкий, но мощный веб-фреймворк, который особенно полезен для переноса сценариев в быстрые и качественные веб-приложения.

Мы широко используем его в локальной сети, чтобы коллеги могли использовать сценарии, которые мы разрабатываем для наших Unix-систем, независимо от их платформы. Для простых задач вы можете даже упаковать все (шаблоны и маршрутизацию) в один файл: check Mojolicous :: Lite .

1 голос
/ 16 февраля 2010

Если под

графический интерфейс должен быть веб-кросс-платформенным от
, вы имеете в виду, что он должен быть написан с использованием HTML / CSS / JavaScript, одно из решений - использовать HTTP :: Server :: Simple :: CGI в сочетании с CGI :: Application и HTML :: Template . Браузер :: Открыть завершает необходимый минимальный функционал.
1 голос
/ 16 февраля 2010

Должен ли это быть богатый графический интерфейс в стиле OS? Или просто какой-нибудь старый пользовательский интерфейс? CGI :: Application - это очень быстрый способ начать работу - это, вероятно, лучший баланс между чистым, поддерживаемым кодом и коротким циклом обучения. Для более тяжелой работы, Катализатор кажется оружием выбора.

Если вы хотите создать полнофункциональный графический интерфейс с меню и перетаскиваемыми диалоговыми окнами и т. Д. Perl, вероятно, не лучший кандидат.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...