Pregunta

Las respuestas a esta pregunta mía relacionada me llevó a elegir Java para la mayoría de mis servicios backend (es un sistema de varios componentes). Ahora, no estoy seguro de que esa sea también una buena opción para las aplicaciones GUI de escritorio multiplataforma. Las aplicaciones de escritorio de Java que recuerdo haber usado tienen un aspecto no nativo que no me gusta, pero no estoy seguro de si eso depende de la elección del kit de herramientas GUI en lugar del idioma.

La mayoría de mis GUIs estarán basadas en la web, y las de escritorio tendrán una audiencia relativamente pequeña (administradores, desarrolladores y evaluadores), por lo que solo puedo reservar una pequeña fracción de mi presupuesto de tiempo para hacer eso. Sin embargo, quiero un aspecto nativo y evitar un montón de dependencias.

Probablemente sea más adecuado comenzar con el kit de herramientas de GUI que quiero usar y luego elegir un idioma que lo admita. Los multiplataforma que conozco son:

  • GTK
  • qt
  • AIR (cuando llega a Linux)

Entonces, por ejemplo, podría usar GTK # con .Net / Mono. ¿Qué tipo de problemas de dependencia voy a enfrentar? ¿Recomendaría separar la GUI real del resto de la aplicación y utilizar GTK en Linux y algo nativo en Windows, como Windows Forms, evitando así tener que instalar GTK en Windows?

¿Fue útil?

Solución

Bruce Eckel es un gran patrocinador de Flex como interfaz de usuario multiplataforma, tanto para servicios de Java como de Python. Escribió mucho sobre esto, en Artima:

Otros consejos

SWT es tu respuesta. Trabajé en un proyecto que usaba SWT y se ve muy bien en lo que sea que le des. Si trabajas con Java, es probable que hayas usado el mejor ejemplo de SWT: Eclipse. Funciona con GTK, WinForms, Cocoa, Qt incluso Tk. Oh! Y es muy fácil una vez que entras todo lo básico. Además, la mayoría de los componentes están listos. Otra cosa, GTK y C # no son tan independientes de la plataforma como podría soñar.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top