2010-01-20 7 views
5

Perl è una buona opzione per scrivere (possibilmente e parzialmente) applicazioni desktop indipendenti dalla piattaforma? So che ci sono biblioteche di widget interessanti come GTK2 Perl e wxWidgets ma non ho familiarità con lo sviluppo su Windows.Perl è una buona opzione per scrivere applicazioni desktop indipendenti dalla piattaforma?

È possibile scrivere una buona applicazione con Perl e quegli strumenti, magari incorporando tutto ciò che è necessario per evitare di chiedere all'utente di installare librerie esterne (e probabilmente non convenzionali per molte)? Ci sono esempi di questo tipo di app in giro?

+4

Applicazioni desktop o web? Il titolo dice una cosa e il corpo dice un'altra. –

+0

Mi dispiace, titolo beats body: Intendevo desktop –

+0

Stai chiedendo perché Perl è l'unica lingua che conosci? Perché la lingua deve essere Perl? Cos'altro stai considerando? –

risposta

4

Il mio datore di lavoro utilizza ActiveState's PerlApp per produrre versioni eseguibili delle nostre app con grande successo.

Abbiamo testato PAR e PerlApp prima di selezionare il nostro metodo di imballaggio. A quel tempo, PerlApp ha avuto tempi di caricamento più rapidi. Diverse versioni di ogni strumento sono andate e venute da allora, quindi consiglierei di testare ciascuna prima di selezionare uno strumento.

L'imballaggio eseguibile è stato molto efficace per noi.

Ci sono alcuni problemi di portabilità con Perl, ma se si presta attenzione a perlport, è facile evitare la maggior parte dei problemi. I nostri maggiori problemi sono sempre con Win32. Di tanto in tanto, alcune cose semplici richiederanno soluzioni stupide e bizzarre, o scaveranno nell'API Win32 per una modifica specifica della piattaforma.

Abbiamo utilizzato entrambi i metodi Wx e Tk.

Frozen Bubble è un'app ben nota e ampiamente disponibile che puoi guardare.

3

Verificare PAR (disponibile tramite CPAN) in relazione ai requisiti di impacchettamento.

Considerare di dare un'occhiata a Padre per un esempio di un'applicazione complessa scritta in perl utilizzando Wx.

Quindi sì. Tutti i tuoi requisiti sono realizzabili, inclusa la portabilità.

+1

Non ho trovato padre portatile, soprattutto perché Wx è un tale dolore su alcune piattaforme. Certo, puoi farlo funzionare alla fine, ma non lo considero come la portabilità del mondo reale. Possibile è un po 'diverso dal ragionevole. –

+0

Sì, sono su un Mac, ma ho anche avuto problemi a far funzionare Wx su Windows e Linux. Le stelle devono allinearsi correttamente affinché tutto funzioni. Comunque, è sempre quando sto cercando di compilare le cose da solo. Il problema con i tester Mac è probabilmente che nessuno di loro ha bisogno di Padre. Sono completamente soddisfatto del mio editor, come lo sono la maggior parte delle persone Mac che conosco. –

6

Sort of. Puoi sicuramente scrivere script Perl che forniscono una GUI Tk che funzionerà su qualsiasi piattaforma, e puoi anche impacchettare le librerie di cui hanno bisogno per lavorare con PAR per mettere insieme un'applicazione che verrà eseguita ovunque con una versione appropriata di perl installata senza richiedere il fine uso per installare un sacco di cose da CPAN per farlo funzionare.

Tuttavia un'applicazione che verrà eseguita ovunque senza che richiede un'installazione perl esistente (ed è probabilmente non sicuro assumere che l'utente medio di Windows avrà perl) non è realmente valida. Una soluzione sarebbe quella di distribuire una versione "ovunque tranne Windows" che usi semplicemente PAR per includere le librerie necessarie e una versione costruita da PAR :: Packer per Windows, che sarebbe un .exe completamente funzionale che includa l'interprete perl e il librerie.

MODIFICA: seguendo la risposta di daotoad, sembra che PerlApp di ActiveState possa creare binari multipiattaforma per Windows, Mac OS X, Linux, Solaris e AIX; Non ho provato questo, ma se funziona come pubblicizzato sembrerebbe soddisfare le vostre esigenze.

0

Sto lavorando al modulo XUL::Gui su CPAN, che utilizza Firefox per visualizzare applicazioni gui multipiattaforma da Perl. È in fase di sviluppo, ma è stabile e potrebbe essere abbastanza completo per le tue esigenze.Puoi costruire la tua GUI in HTML e/o XUL (il linguaggio gui di Mozilla in cui è scritto lo stesso Firefox), e poi modellare tutto con i CSS. Fammi sapere se hai richieste di funzionalità.

Problemi correlati