He usado Java Swing para algunas aplicaciones de escritorio. Pero no he usado otros frameworks GUI tanto que no puedo compararlos.
Definitivamente hay algunas cosas que me gustan con Swing y otras que no me gustan, pero esa es la situación con casi todo.
¿Cuáles son los mayores inconvenientes con el marco Java Swing GUI?
frameworks
gui
swing
Jonas
fuente
fuente
Respuestas:
Tienes que tener Java instalado en alguna parte. Esto es cierto para todos los marcos de GUI, por supuesto, pero Java tiene la percepción de un gorila de 2 toneladas. Se ha mejorado muchísimo, pero esos primeros días de applets de Java apagaban a mucha gente. Si solo lo necesita para ejecutar su única aplicación, es mucho mantenimiento mantenerla actualizada con parches de seguridad y similares. Todos deben tener Flash para YouTube, .Net Framework se instala detrás de escena y todos tienen habilitado JavaScript en su navegador. Java suele ser una cosa extra que hacer.
A pesar de que es algo así como escribir una vez, ejecutar en cualquier lugar, todavía encuentra que Mac OSX no tiene esta nueva cosa que desea usar o un cliente se niega a actualizar su mandrake linux más allá de JRE 1.4.
Como desarrollador, debes pensar en enhebrar. Y es complicado, ya que es posible el subprocesamiento múltiple, pero el swing simula que todo es de un solo subproceso. Pero luego, la mitad de las bibliotecas que utiliza tienen cierto grado de subprocesamiento múltiple y asumen que conoce EDT invokeLater y obliga a muchas lecciones de la manera difícil.
La experiencia de Swing no se transfiere fácilmente a otros tipos de desarrollo de UI. Por ejemplo, si eres un genio en las tablas en .css, Jtables, renderizadores, editores, etc.
En general, el principal problema con Swing es que no estuvo a la altura de cómo se comercializó. Es una tecnología perfectamente adecuada para muchos casos de uso, pero esos primeros 5 o 6 años estuvieron llenos de implementaciones terribles y applets atroces. Y ahora es tecnología antigua: la Web 3.0 o lo que sea.
Dicho todo esto, me gusta Swing y creo que los profesionales generalmente superan a los contras cuando necesitas lo que ofrece. Sin embargo, la experiencia web es tan omnipresente ahora que muchos usuarios van a tener más facilidad con una aplicación web que con la aplicación de swing increíble más optimizada. Y hay increíbles aplicaciones de Swing, pero no parecen ser convencionales.
fuente
Jonas
Swing generaliza su arquitectura subyacente para brindarle una experiencia de usuario neutral en la plataforma. El único componente de peso pesado (proporcionado por el sistema operativo) es el contenedor JFrame y el resto es manejado por Swing takeit. AWT, por otro lado, le pide al sistema operativo que dibuje todos sus componentes de la interfaz de usuario, lo que significa que es más rápido de muchas maneras a medida que usa los componentes de la interfaz de usuario nativos específicos del sistema operativo. SWT intenta alcanzar un punto medio, para varios componentes estándar como botones y etiquetas (que están disponibles en la mayoría de los sistemas operativos), permite que el sistema operativo se ocupe de esos y para otros componentes especializados, SWT se encargará de la creación por usted.
Dicho esto, puedo describir los inconvenientes.
(1) Dado que el kit de herramientas crea y renderiza los componentes por usted en lugar de preguntarle al sistema operativo, no puede aprovechar la velocidad de los componentes integrados proporcionados por el sistema operativo.
(2) La interfaz de usuario no es particularmente perjudicial, ya que se ve ajena a la mayoría de las plataformas del sistema operativo en lo que respecta a la apariencia que usa.
(3) Algunos de los administradores de diseño, es decir, GridBadLayout, etc., podrían simplificarse mejor. He perdido la cuenta de la cantidad de proyectos en los que he trabajado en los que la gente ha incluido GridBagLayout en un código a medida para obtener una forma más sencilla de usarlo.
Le aconsejo que escriba una aplicación simple en AWT, Swing y SWT y compare los enfoques de desarrollo y el producto final entre todos, luego revise los diversos comentarios hechos por otros desarrolladores y decida cuál funciona mejor. He trabajado con Swing durante muchos años y solía disgustar SWT, pero me di cuenta de que Swing es mucho más complicado de lo que debería ser en comparación con otros marcos existentes.
fuente
El swing es lento (mal rendimiento), difícil / torpe de usar (en comparación con muchos otros) y no se ve muy bien, de hecho muy mal, en algunas plataformas.
fuente