2009-06-02 10 views
10

¿Hay alguna manera además de Zapatos para desarrollar y distribuir aplicaciones de escritorio GUI multiplataforma escritas en Ruby?Distribuir aplicaciones de escritorio Ruby/Python

Creo que el funcionamiento general de las aplicaciones de _why es excepcionalmente paralizante en el caso de los zapatos, y cualquier cosa más compleja que una forma de dos botones es difícil de mantener.

RubyGTK, wxRuby, etc. parecen ser prometedores, pero no resuelven el problema de distribuir una aplicación de una manera que no requiere que Ruby esté preinstalado en las computadoras de los usuarios, y las bibliotecas como ruby2exe parecen ser horriblemente desactualizado e incompleto.

Generalmente, ¿cuál es la moda actual?

BTW: si hay una solución realmente fácil para esto en Python, puedo considerar volver a hacer las cosas que estoy haciendo en Python.

+0

@ Bluebird75 ¿por qué eliminaste la etiqueta de Python? La mayoría de las respuestas están relacionadas con Python. –

+0

@dex Rollback'd. – apostlion

Respuesta

11

No sé acerca de ruby2exe, pero py2exe funciona perfectamente. Incluso con librairies como wxWidgets. Editar: que ni siquiera tiene que pedir al usuario que instale wxWidgets, que está incluido con la aplicación (mismo ocurre con py2app)

lo uso para mi proyecto muy pequeño here.

Para la multitud de Mac, py2app funciona bien también con wxWidgets.

+1

Sí, no he usado py2app, pero py2exe es excelente. – Pesto

+0

Realmente no lo toqué como desarrollador, pero utilicé aplicaciones empaquetadas de py2exe varias veces, y la experiencia de instalación/uso/desinstalación fue bastante fluida. – apostlion

+0

También uso py2exe + wxPython. La documentación de py2exe no es la mejor, pero siempre tengo que hacer lo que quiero. – FogleBird

2

El estado de cosas es bastante malo. El método más confiable actualmente es usar JRuby. Sé que probablemente esa no sea la respuesta que quieres escuchar, pero, como dices, ruby2exe no es confiable, y Shoes está muy lejos (y ni siquiera pretende ser una aplicación a gran escala). Personalmente, no me gusta forzar a los usuarios a instalar GTK o Qt o wxWidgets, pero la JVM es bastante omnipresente.

+1

No es exactamente el tipo de respuesta que quiero escuchar, pero no tengo muchas opciones, y entre ellas JRuby está lejos de ser la peor. – apostlion

6

No sé sobre Ruby, pero el estándar para Python es py2exe para crear binarios de Windows. Para mí, la plataforma cruzada pyinstaller ha funcionado bien, una vez. Para su GUI, TkInter es el estándar. Mucha gente como wxPython. Todos esos están bastante desarrollados activamente. Sugiero jugar un poco con estas opciones para decidir si Python es la mejor opción.

1

Dependiendo de cuán lejos esté su desarrollo, Shoes es bastante bueno. Es básicamente su propia distribución de Ruby. Puede estar un poco oculto (en el menú de archivos), pero le permite empaquetar su aplicación para las 3 plataformas sin tener esa pantalla de inicio de Zapatos.

El motor de representación detrás de él es Cairo.

+2

Las calidades de embalaje de los zapatos son bastante buenas. Sin embargo, el marco en sí está lejos de ser ideal: empiece a trabajar con IO/filesystem en gran medida, y verá lo que quiero decir. – apostlion

+2

Me refería exclusivamente al embalaje, gracias por aclararme. – Skade

8

Para Ruby, el One-Click Ruby Application Builder (OCRA) está surgiendo como el sucesor de RubyScript2Exe.

Ocra funciona con Ruby 1.8.6 y 1.9.1, y con wxRuby. Admite la compresión LZMA para ejecutables relativamente compactos.

+0

¡Gracias por la sugerencia! – apostlion

+1

formato .exe solo, en lugar de x-platform. Al menos puede confiar en que Ruby/Python esté instalado en Mac, pero aún necesita empaquetar su aplicación como un paquete para que sea reconocida. – JulesLt

-2

He leído acerca de (pero no utilizado) Seattlerb's Wilson, que se describe a sí mismo como un ensamblador x86 puro, pero no parece que sea multiplataforma o GUI.

0

No creo que nadie realmente haya respondido su pregunta.

En cuanto a mí, uso VB para hacer llamadas de Shell() a los scripts de Ruby compilados en Ocra. Funciona bastante bien y me permite crear aplicaciones que se ejecutan en todos los sistemas operativos modernos.

Las pruebas de Linux se realizan utilizando Wine para ejecutar y asegurándome de usar una versión .NET de VB para la compilación .exe.

+0

No acabo de seguir la última frase, es decir, ¿por qué Wine está involucrado en lugar de ejecución nativa directa en Linux? ¿Es realmente necesario? – JulesLt

+0

Es de 6 años, pero sí, no tiene mucho sentido para mí también ... –

Cuestiones relacionadas