java user-interface cross-platform swt jambi

java - Qt Jambi vs SWT para desarrollo de GUI multiplataforma



user-interface cross-platform (6)

Estoy de acuerdo con Vinegar: No descarte Swing. Desarrollé ambos con Swing y con SWT, pero no con Qt. Con Swing, su código será automáticamente multiplataforma. Con SWT, su código es multiplataforma con un poco de esfuerzo, aunque no tanto esfuerzo. ¿Va a implementar una aplicación local, un Applet o una aplicación Web Start?

La ventaja de SWT es que usa todos los widgets nativos. (Look-and-feel familiar). La desventaja de SWT es que usa todos los widgets nativos. (No tantos widgets como Swing tiene) Si esto es más una ventaja o una desventaja depende de lo que está haciendo y cuáles son sus objetivos. Esto significa que Swing tiene una mayor variedad de widgets. Sin embargo, hay algunas cosas que hace SWT que Swing no funciona tan bien (o nada), como iniciar el navegador nativo del sistema y ejecutar scripts JavaScript en este navegador.

Si considera SWT, considérelo cuidadosamente. Si tiene ciertas necesidades (como ejecutar JavaScript en una ventana del navegador que fue lanzada por su aplicación), entonces puede ser su mejor opción. Sin embargo, si Swing puede satisfacer completamente sus necesidades, puede ser una mejor opción.

Con suerte, alguien más puede proporcionar información sobre Qt Jambi.

Tenga en cuenta que el soporte debe ser una consideración en su decisión. Con SWT, hay una comunidad más pequeña que lo apoya. Con Swing, una comunidad más grande, pero esto no significa que las correcciones se incluirán más rápidamente en una versión de desarrollo. Con Qt Jambi y con SWT, si se soluciona un error, simplemente distribuye bibliotecas actualizadas con su aplicación. Con Swing, tienes que esperar un JRE actualizado. Ninguno es necesariamente un obstáculo, pero debe ser considerado.

Las tarifas de licencia pueden o no ser una consideración. SWT y Swing, por supuesto, no tienen tarifas de licencia Jambi No sé de ninguna manera, pero puede depender de su uso previsto, por ejemplo, si está distribuyendo una aplicación GPL, o una licencia comercial.

Buena suerte.

Actualmente estoy involucrado en un proyecto que desarrolla aplicaciones principalmente para Linux (Fedora 10). Sin embargo, podría ser el caso más adelante que tendremos que portar estas aplicaciones a Mac OS X y Windows y no queremos que nos atrapen eligiendo el kit de herramientas GUI incorrecto. *

Por diversas razones heredadas, estamos bloqueados para usar Java. Estamos en el proceso de decidir entre usar Qt Jambi y SWT para la GUI. No tengo mucha experiencia en el uso de ninguno de ellos, así que estoy haciendo algunos prototipos pequeños para tratar de sentirlos. Hasta ahora (solo desarrollo en Linux) no hay mucha diferencia entre ellos. Sin embargo, hay un límite en la profundidad a la que puedo llegar en poco tiempo. Es por eso que estoy pidiendo ayuda.

Las características particulares que nos interesan son:

  • Ventanas sin marco

  • ventanas con forma personalizada (es decir, no rectangulares)

  • estéticamente agradable

¿Alguien tiene alguna experiencia y / o conocimiento de estas dos bibliotecas que nos pueda hacer tropezar más tarde?

  • La gente de programación ágil sin duda saltará sobre la frase "podría ser ... más adelante" y decir que no debemos preocuparnos por eso. Sin embargo, en ausencia de otros factores decisivos entre los kits de herramientas, las opciones futuras de extensibilidad servirán. Prometo no escribir ningún código específico multiplataforma hasta que tenga que :)

Actualización 11 de febrero: gracias por las excelentes respuestas. Para aquellos que son curiosos, probablemente vayamos con Jambi. Fue sobre todo la funcionalidad de la hoja de estilo lo que me conquistó, ya que facilitan muchas de las cosas de forma de widget personalizadas que tenemos que hacer. El conjunto de ejemplos de Qt mostró que las ventanas sin marco y de forma personalizada sí funcionan en diferentes plataformas, por lo que no deberíamos quedarnos atrapados en el camino. El lanzamiento LGPL fue por qué estábamos considerando Jambi en absoluto :)


No tengo experiencia con SWT, sin embargo, también estaba trabajando con Jambi / Qt, Swing y GTK. El único problema con Qt / Jambi es la licencia, en mi opinión (debe publicar su soft bajo licencia GPL o comprar licencia comercial). No puede comenzar a escribir software de forma gratuita y luego "ver qué pasa". Debe asegurarse de que su software sea exitoso, porque tiene que comprar licencias. Esto en muchas ocasiones no es un caso.

Saludos.

Ooops, pasé por alto esos comentarios, gracias por la respuesta. ¡Esta es una gran noticia! Buen movimiento de Nokia.

@cursa que no fue dicho, así que también tenga en cuenta que Qt / Jambi es más que un widget toolkit. Tiene clases para redes, manipulación de cadenas (junto con motor regexp), mutexes, gráficos vectoriales y de trama 2D, OpenGL y muchos más. Esto proporciona un impulso real al desarrollo de aplicaciones.

También recomiendo descargar el paquete Qt a Jambi noobies, debido al muy buen navegador de ayuda llamado Assistant del que Jambi no cuenta. Todas las API de Qt y Jambi son las mismas (excepto las ranuras y las señales), incluso la documentación no se modifica, por lo que puedes usarla indistintamente.


No recomendaría SWT. SWT es una biblioteca mal diseñada con muchos hacks e insectos. Buscará todo el tiempo para la solución de las simples tareas de UI



No descartaría SWT, ya que es un gran éxito en el mundo de los eclipses. Lo he usado felizmente durante aproximadamente 6 años y nunca tuve que recurrir al columpio.


Después de muchos años, me sorprende que los desarrolladores de Java sigan buscando herramientas de programación de GUI. En mi caso, el swing es lento, no es bueno para grandes proyectos. Como podemos ver muchos proyectos, tal openoffice comenzó desde el sol, usando widgets de C ++ para programación de GUI, solía cambiar de proyecto, pero los clientes que me preguntan sobre el rendimiento cambian muchas veces. Qt también no programadores activos y soporte, solía probar javafx pero todavía veo problemas de rendimiento, puede descargar muestra javafx desde el sitio Oracle, cambiando las páginas gui que llevan mucho tiempo en comparación con las gui nativas de c ++.