2012-02-21 15 views
9

¿Es Ruby una buena opción para escribir (posiblemente y parcialmente) aplicaciones de escritorio independientes de la plataforma?¿Es Ruby una buena opción para escribir aplicaciones de escritorio independientes de plataforma?

¿Hay alguna bibliotecas admitidas para escribir código de escritura para ventanas, linux, sistemas operativos Mac

sé Java tiene capacidades para escribir aplicaciones de escritorio, lo que sobre Ruby?

+0

No consideraría C# una buena opción si la independencia de la plataforma es su objetivo. Aunque hay implementaciones .net para otras plataformas además de Windows, no están completas, ni están actualizadas ni son oficialmente compatibles. – jupp0r

+0

@ jupp0r Tienes razón, he modificado la pregunta. –

+0

Debe tener en cuenta que el código ejecutable es texto plano visible, incluso si usa [RubyScript2Exe] (http://www.erikveen.dds.nl/rubyscript2exe/); entonces encajará en proyectos de código abierto. –

Respuesta

6

Ruby es un excelente lenguaje, pero el soporte para crear aplicaciones gráficas de escritorio es un poco débil. Probablemente usaría JRuby + tu biblioteca de GUI de Java de elección.

Creo que JRuby se puede precompilar a bytecode de Java, que también podría ser un poco mejor para aplicaciones de código cerrado que Ruby de texto sin formato. (Aunque el bytecode de Java se puede compilar de forma inversa).

+0

TideSDK se ve muy prometedor cuando se trata de GUI. Utiliza tecnología web para hacer aplicaciones nativas. Admite Ruby, Javascript, Python y PHP. http://www.tidesdk.org/ – Automatico

+0

@ Cort3z, gracias por compartir esa información, pero eso no es un "comentario" sobre mi respuesta. Esa información pertenece a una nueva respuesta, no a un comentario. –

+0

Sí. Me di cuenta, así que hice [uno] (http://stackoverflow.com/a/21417309/741850) justo después :) – Automatico

2

Le sugiero que eche un vistazo a Shoes. Si es una buena opción o no, es un debate que depende de sus limitaciones y preferencias. Si está más cómodo con la programación en Ruby en lugar de Java o C#, definitivamente lo consideraría una buena opción.

2

Depende del tipo de aplicación que esté desarrollando. No diría que ruby ​​es ese cross plateforme para aplicaciones que necesitan una interfaz gráfica de usuario compleja, por ejemplo. Python parece ser un poco más plataforma X desde mi experiencia, Java es definitivamente. ¿Y por qué no probar C++ y Qt?

http://qt.nokia.com/products/

Editar: desde que se editó la pregunta, me gustaría añadir ir ya sea con Java o Qt más de Ruby.

1

Puede probar FXRuby, está basado en la biblioteca FOX Toolkit y permite el desarrollo de la GUI de Ruby multiplataforma. Incluso plataformas más exóticas como FreeBSD son compatibles. Puede empaquetar su aplicación junto con un intérprete de Ruby y todos los marcos requeridos para minimizar las dependencias de la plataforma de destino.

4

El problema con las bibliotecas de GUI multiplataforma es que se ven feas en cualquier plataforma.

Como usuario de OSX, si veo una interfaz Java o X, de manera automática y mental le asigno 10 puntos menos a la calidad de esta aplicación, incluso si no la merece.

Solo hay una biblioteca de GUI multiplataforma que no desencadena ninguno de mis prejuicios mentales: HTML5. Pero, por supuesto, no puede acceder a la API del sistema operativo nativo.

Yo recomendaría intentar definir la arquitectura de su aplicación de tal manera que el el 90% del código sea agnóstico de la visualización. Y luego construya este 10% de la capa de visualización para cualquier plataforma adhoc.

Si no está preocupado por la percepción profesional de su aplicación, puedo decir que cualquiera de las proposiciones que se han hecho es una buena elección.

1

IMHO Ruby es una gran opción para GUI multiplataforma. Sin embargo, depende de qué GUI toolkit use. Las herramientas son: Qt, Tk, wxRuby, Shoes, GTK, etc. Elegí GTK porque puedes usar el diseñador de interfaces de Glade para compilar tus formularios.Se puede ver varios ejemplos de interfaces gráficas de usuario se acumulan con el rubí en:

http://www.visualruby.net

sobre la apariencia de los programas, lo he intentado mis programas en Ubuntu, Win7 y Win XP, y todo parece perfecto. Además, si miras el sitio web de Tks, tienen capturas de pantalla de GUI TK en varias plataformas, y se ven fantásticas también.

La principal ventaja de escribir GUI en ruby ​​es que puedes usar ruby ​​en lugar de java. Personalmente, encuentro que Ruby es un placer trabajar con él. Buena suerte.

+0

I segundo GTK. Mira esto: http://www.visualruby.net/site/Screen%20Shots.html – rpattabi

0

Creo que puede ser con TideSDK. Recientemente descubrí esto y parece ser uno de los mejores enfoques para gui multiplataforma que he visto. Utiliza HTML5, pero tiene soporte para cosas como la bandeja del sistema y otros comportamientos nativos.

He examinado un montón de las otras supuestas soluciones multiplataforma, pero no me parecen atractivas.

Una nota sobre TideSDK hoy: Solo es compatible con Ruby 1.8.7. Esto es realmente un gran problema para mí, ya que muchas de las gemas que quiero usar es 1.9.2+. El TideSDK implementado en Linux es 1.9, pero no osx o windows, están en 1.8.7. Esto es algo que con suerte se actualizará pronto. Me encantaría ver múltiples versiones ruby.

De todos modos. Échale un vistazo. También es de código abierto, aka. gratis, entonces eso es bueno.

Cuestiones relacionadas