programas - ¿Ruby es bueno para el desarrollo de GUI?
ruby interfaz grafica (14)
Con Ruby puede usar Tk, que es un kit de herramientas de interfaz de usuario cruzado y maduro. Es el conjunto de herramientas GUI de hecho para Python y Tcl, y también está disponible para su uso con Perl. Las versiones más recientes de Tk hacen uso de widgets nativos que abordan la principal preocupación de que Tk parezca anticuado.
Un sitio web independiente del idioma dedicado a Tk es http://www.tkdocs.com/, que incluye ejemplos codificados en Ruby y Tcl.
Estoy considerando crear una herramienta basada en GUI que quiera que sea multiplataforma. He descartado Java, ya que personalmente no me gusta Swing. Actualmente estoy considerando C # y el uso de Mono para hacerlo multiplataforma. Sin embargo, me pregunto si los nuevos lenguajes multiplataforma como Ruby pueden ofrecerme un entorno de desarrollo de GUI decente.
Ruby / GNOME2 funciona bastante bien. Puede usar Glade para arrastrar y soltar elementos de la ventana y cargarla en la interfaz de usuario de su aplicación Ruby.
Tendrás Ruby / GTK , que te permite usar el kit de herramientas GTK en Linux. Creo que debería funcionar en Windows y Mac OS (como en Gimp, Gaim, etc.).
Una revista francesa publica un buen artículo para principiantes sobre Ruby / GTK.
Editar: según la página principal del proyecto SourceForge , Ruby-Gnome2 (también conocido como Ruby / GTK) es multiplataforma (Windows, Linux, Mac OS).
La respuesta corta: no (porque dijiste multiplataforma ).
La respuesta larga: las GUI multiplataforma son un problema antiguo. Qt, GTK, wxWindows, Java AWT, Java Swing, XUL: todos sufren el mismo problema: la GUI resultante no parece nativa en todas las plataformas. Peor aún, cada plataforma tiene un aspecto y una apariencia ligeramente diferentes, por lo que incluso si de alguna manera pudieras obtener un conjunto de herramientas que pareciera nativo en cada plataforma, de alguna manera deberías codificar tu aplicación para que se sienta nativa en cada plataforma.
Todo se reduce a una decisión: ¿quiere minimizar el esfuerzo de desarrollo y tener una GUI que no se ve y se siente bien en cada plataforma, o quiere maximizar la experiencia del usuario? Si elige la segunda opción, deberá desarrollar un back-end común y una IU personalizada para cada plataforma.
ruby no es una mala elección para tu back-end común.
No estoy seguro acerca de Ruby, pero mencionaste Mono / C # - Últimamente he usado Mono y GTK # bastante y estoy muy impresionado. Parece ser bastante estable y la portabilidad multiplataforma es agradable.
¿Has mirado SWT en Java? Utiliza widgets nativos y es mucho más fácil obtener una interfaz agradable que Swing.
Java sigue siendo una opción y también es una buena opción. Si desea un aspecto nativo, use SWT / JFace. Realmente puede hacer aplicaciones poderosas de interfaz de usuario con el marco RCP de eclipse.
siendo un programador de wxperl, sé que wxruby también está allí. Wx es bastante rápido y tiene una verdadera apariencia y diseño de plataforma cruzada.
Eche un vistazo a los resultados de la encuesta Ruby GUI 2008 y la discusión aquí . Te encantará saber
Apoyo fuertemente a Qt para el desarrollo de GUI multiplataforma. Es increíble y las API son muy intuitivas. La interfaz gráfica de usuario se ve y se siente casi nativa con Qt porque usa controles de GUI proporcionados por el sistema operativo subyacente.
Aunque la interfaz básica con C ++ enlaces de otros idiomas están disponibles. Para Ruby RubyQt está disponible. Desafortunadamente es muy inmaduro.
Ruby tiene zapatos , pero eso podría ser un poco liviano.
Sugeriría mirar visualruby . Es un IDE para crear GUIs usando ruby. Utiliza GTK como su kit de herramientas de gráficos, y las aplicaciones se ven muy bien para mí en cualquier plataforma. Puede ver capturas de pantalla en Win7, WinXP, Ubuntu y Mac en la página de capturas de pantalla:
http://visualruby.net/site/Screen%20Shots.html
Puede probarlo fácilmente en todas las plataformas instalando visualruby en varias plataformas y ejecutando los programas de ejemplo.
La respuesta marcada se escribió antes de que se lanzara visualruby.