2010-01-20 14 views
5

¿Es Perl una buena opción para escribir (posiblemente y parcialmente) aplicaciones de escritorio independientes de la plataforma? Sé que hay bibliotecas de widgets interesantes como GTK2 Perl y wxWidgets, pero no estoy familiarizado con el desarrollo en Windows.¿Es Perl una buena opción para escribir aplicaciones de escritorio independientes de la plataforma?

¿Es posible escribir una buena aplicación con Perl y esas herramientas, tal vez incorporando todo lo necesario para evitar pedirle al usuario que instale bibliotecas externas (y probablemente no convencionales para muchas)? ¿Hay ejemplos de este tipo de aplicaciones?

+4

¿Aplicaciones de escritorio o web? El título dice una cosa y el cuerpo dice otra. –

+0

Lo siento, el título gana al cuerpo: me refiero al escritorio –

+0

¿Lo preguntas porque Perl es el único idioma que conoces? ¿Por qué el lenguaje tiene que ser Perl? ¿Qué más estás considerando? –

Respuesta

4

Mi empleador usa ActiveState's PerlApp para producir versiones ejecutables de nuestras aplicaciones con gran éxito.

Probamos PAR y PerlApp antes de seleccionar nuestro método de embalaje. En ese momento, PerlApp tenía tiempos de carga más rápidos. Varias versiones de cada herramienta han llegado y se han ido desde entonces, por lo que recomendaría probar con cada una antes de seleccionar una herramienta.

El embalaje ejecutable ha sido muy efectivo para nosotros.

Hay algunos problemas de portabilidad con Perl, pero si prestas atención a perlport, es fácil evitar la mayoría de los problemas. Nuestros mayores problemas siempre son con Win32. De vez en cuando, algo simple requerirá soluciones estúpidas y extrañas o la excavación en la API de Win32 para un hack específico de la plataforma.

Hemos utilizado tanto guiones Wx y Tk.

Frozen Bubble es una aplicación bien conocida y ampliamente disponible que puede ver.

3

Consulte PAR (disponible a través de CPAN) con respecto a su requisito de agrupación.

Considere echar un vistazo a Padre para ver un ejemplo de una aplicación compleja escrita en perl usando Wx.

Así que sí. Todos sus requisitos son alcanzables, incluida la portabilidad.

+1

No he encontrado que Padre sea portátil, principalmente porque Wx es tan doloroso en algunas plataformas. Claro, puede hacer que funcione eventualmente, pero no lo considero como portabilidad del mundo real. Posible es un poco diferente de lo razonable. –

+0

Sí, estoy en una Mac, pero también he tenido problemas para conseguir que Wx funcione en Windows y Linux. Las estrellas deben alinearse adecuadamente para que todo salga bien. Sin embargo, eso siempre es cuando estoy tratando de compilar cosas yo mismo. El problema con los probadores de Mac es probablemente que ninguno de ellos necesita a Padre. Estoy completamente satisfecho con mi editor, al igual que la mayoría de las personas de Mac que conozco. –

6

Tipo de. Ciertamente puede escribir scripts Perl que proporcionan una GUI Tk que funcionará en cualquier plataforma, e incluso puede empaquetar las bibliotecas que necesitan para trabajar con PAR para armar una aplicación que se ejecutará en cualquier lugar con una versión apropiada de perl instalada sin requerir el uso final para instalar un montón de cosas de CPAN para que funcione.

Sin embargo, una aplicación que se ejecutará en cualquier parte sin que requiera una instalación de perl existente (y probablemente no es seguro asumir que el usuario promedio de Windows tendrá perl) no es realmente viable. Una solución sería distribuir una versión "en todos lados menos en Windows" que simplemente use PAR para incluir las bibliotecas necesarias, y una versión construida por PAR :: Packer para Windows, que sería un .exe completamente funcional que incluye el intérprete de Perl y el bibliotecas.

EDITAR: siguiendo la respuesta de daotoad, parece que PerlApp de ActiveState puede construir binarios multiplataforma para Windows, Mac OS X, Linux, Solaris y AIX; No lo he intentado, pero si funciona como se anuncia, parece cumplir sus requisitos.

0

Estoy trabajando en el módulo XUL::Gui en CPAN, que usa Firefox para mostrar aplicaciones gui multiplataforma desde Perl. Está en desarrollo, pero es estable y puede ser lo suficientemente completo para sus necesidades.Puede compilar su interfaz gráfica de usuario en HTML y/o XUL (el lenguaje gui de Mozilla en el que está escrito Firefox), y luego peinar todo con CSS. Avíseme si tiene alguna solicitud de función.

Cuestiones relacionadas