2010-01-20 9 views
5

Ist Perl eine gute Option, um plattformunabhängige Desktop-Anwendungen (möglicherweise oder teilweise) zu schreiben? Ich weiß, dass es interessante Widget-Bibliotheken wie GTK2 Perl und wxWidgets gibt, aber ich bin nicht vertraut mit der Entwicklung unter Windows.Ist Perl eine gute Option, um plattformunabhängige Desktop-Anwendungen zu schreiben?

Ist es möglich, eine gute Anwendung mit Perl und diesen Werkzeugen zu schreiben, vielleicht alles einbetten, um den Benutzer zu fragen, externe (und wahrscheinlich nicht konventionelle für viele) Bibliotheken zu installieren? Gibt es Beispiele für diese Art von Apps?

+4

Desktop- oder Web-Anwendungen? Der Titel sagt eine Sache und der Körper eine andere. –

+0

Es tut mir leid, Titel schlägt Körper: Ich meinte Desktop –

+0

Fragen Sie, weil Perl die einzige Sprache ist, die Sie kennen? Warum muss die Sprache Perl sein? Was denkst du noch? –

Antwort

4

Mein Arbeitgeber verwendet ActiveState's PerlApp, um ausführbare Versionen unserer Apps mit großem Erfolg zu produzieren.

Wir haben PAR und PerlApp getestet, bevor wir unsere Verpackungsmethode ausgewählt haben. Zu dieser Zeit hatte PerlApp schnellere Ladezeiten. Seither sind mehrere Versionen jedes Tools erschienen und ich würde empfehlen, mit jedem Tool zu testen, bevor Sie ein Tool auswählen.

Ausführbare Verpackung war sehr effektiv für uns.

Es gibt ein paar Portabilitätsprobleme mit Perl, aber wenn Sie auf perlport achten, ist es einfach, die meisten Probleme zu vermeiden. Unsere größten Probleme sind immer mit Win32. Von Zeit zu Zeit erfordern einige einfache Dinge dumme, bizarre Workarounds oder das Durchsuchen der Win32 API nach einem plattformspezifischen Hack.

Wir haben sowohl Wx und Tk guis verwendet.

Frozen Bubble ist eine bekannte und weit verbreitete App, die Sie betrachten können.

3

Auschecken PAR (verfügbar über CPAN) in Bezug auf Ihre Bündelung Anforderung.

Betrachten Sie Padre für ein Beispiel für eine komplexe Anwendung geschrieben in Perl mit Wx.

Also ja. Alle Ihre Anforderungen sind erreichbar, einschließlich der Portabilität.

+1

Ich habe Padre nicht gefunden, um tragbar zu sein, hauptsächlich weil Wx auf einigen Plattformen so ein Schmerz ist. Sicher, Sie können es schließlich zum Laufen bringen, aber ich zähle das nicht als echte Weltportabilität. Möglich ist ein bisschen anders als vernünftig. –

+0

Ja, ich bin auf einem Mac, aber ich hatte auch Probleme, Wx unter Windows und Linux zu verwenden. Die Sterne müssen sich richtig ausrichten, damit alles funktioniert. Aber das ist immer, wenn ich versuche, selbst Sachen zu kompilieren. Das Problem mit Mac-Testern ist wahrscheinlich, dass keiner von ihnen Padre braucht. Ich bin vollkommen zufrieden mit meinem Redakteur, genauso wie die meisten Mac-Leute, die ich kenne. –

6

Sortieren von. Sie können sicherlich Perl-Skripte schreiben, die eine Tk-GUI bereitstellen, die auf jeder Plattform funktioniert, und Sie können sogar die Bibliotheken zusammenstellen, die sie benötigen, um eine Anwendung zu erstellen, die überall mit einer geeigneten installierten Perl-Version ausgeführt werden kann Verwenden Sie Endbenutzer, um eine Menge von CPAN zu installieren, damit es funktioniert.

Aber eine Anwendung, die überall ohne läuft eine vorhandene Perl-Installation (und es ist wahrscheinlich nicht sicher, den durchschnittlichen Windows-Benutzer haben Perl) ist nicht wirklich praktikabel. Eine Lösung wäre, eine "everywhere but windows" -Version zu verteilen, die einfach PAR verwendet, um die notwendigen Bibliotheken einzuschließen, und eine PAR :: Packer-gebaute Version für Windows, die eine voll funktionsfähige .exe inklusive Perl-Interpreter und Bibliotheken.

EDIT: nach daotoads Antwort scheint es, dass ActiveState PerlApp plattformübergreifende Binärdateien für Windows, Mac OS X, Linux, Solaris und AIX erstellen kann; Ich habe das nicht ausprobiert, aber wenn es wie angekündigt funktioniert, scheint es Ihren Anforderungen zu entsprechen.

0

Ich arbeite an dem Modul XUL::Gui an CPAN, die Firefox verwendet, um plattformübergreifende GUI-Anwendungen von Perl anzuzeigen. Es ist in der Entwicklung, aber stabil und möglicherweise vollständig genug für Ihre Bedürfnisse.Sie können Ihre GUI in HTML und/oder XUL (der Mozilla-GUI-Sprache, in der Firefox selbst geschrieben ist) erstellen und dann alles mit CSS formatieren. Lassen Sie mich wissen, wenn Sie Feature-Anfragen haben.