2010-02-15 5 views
3

J'ai un script de ligne de commande Perl que je veux convertir en un riche. application d'interface graphique de bureau multiplateforme. Quelle est la meilleure méthode pour le faire. Je veux le code interne et le code logique en Perl mais l'interface graphique doit être une application web riche.Comment puis-je créer une application Web enrichie en Perl?

+0

Vous pourriez jeter un oeil à mod_perl qui vous permettra de développer une application web basée sur le code Perl, mais je ne le classerais pas comme créant un "gui de bureau riche". Pour une application non "web" utilisant perl, pensez à utiliser les bibliothèques TCLTK – dangerstat

+2

Je ne suis pas sûr de savoir ce que vous voulez. –

+2

Une "interface graphique Web" est différente d'une interface graphique de bureau. –

Répondre

12

J'ai travaillé sur le module Perl XUL::Gui sur CPAN qui utilise Firefox comme une plate-forme hôte pour rendre les gui multiplateformes de Perl. Tout ce dont vous avez besoin est Firefox installé sur les plates-formes cibles. Il est actuellement en développement, mais peut être assez stable pour vos besoins. Voici un bref exemple de la façon dont la syntaxe ressemble:

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'); 

Comme il est en cours de développement, si vous avez des demandes de fonctionnalités (ou trouvez des bugs) me le faire savoir.

De plus, puisque vous êtes dans Firefox, toutes les technologies Web que Firefox supporte (canvas, iframes, flash ...) sont entièrement utilisables depuis Perl. Pour les composants graphiques, vous pouvez utiliser n'importe quelle combinaison de balises HTML et XUL.

+0

+1 @Eric Strom Je n'ai pas eu l'occasion de l'utiliser pour quelque chose de réel, mais j'adore 'XUL :: Gui'. –

+1

@Sinan => Merci, ce fut un projet amusant jusqu'à présent. Une nouvelle version devrait être disponible dans quelques jours, ce qui ajoutera un support chromé fiable (os glisser/déposer intégré, sélecteurs de fichiers natifs, etc.) et bien sûr quelques corrections de bugs. –

+0

@Eric Strom Je vais garder un oeil dessus et lui donner un tourbillon. –

1

Est-ce que ce doit être une interface graphique de style OS natif riche? Ou juste n'importe quelle ancienne interface utilisateur? Vous pouvez obtenir quelque chose de très rapidement avec CGI::Application - c'est probablement le meilleur équilibre entre un code propre et maintenable et une courte courbe d'apprentissage. Pour le travail plus lourd, Catalyst semble être l'arme de choix.

Si vous voulez créer une interface graphique complète avec des menus et des boîtes de dialogue, vous ne pouvez pas choisir Perl.

2

Mojolicious est un framework Web léger mais puissant qui est particulièrement utile pour intégrer des scripts dans des applications Web rapides et bien faites.

Nous l'utilisons largement sur le réseau local pour permettre aux collègues d'utiliser les scripts que nous développons sur nos boîtes Unix, quelle que soit leur plateforme. Pour les tâches simples, vous pouvez même emballer tout (modèles et routage) dans un seul fichier: vérifiez Mojolicous::Lite.

Questions connexes