example - ¿Cómo hacen los “profesionales” una GUI en java?
java gui example (7)
Gracias por sus respuestas a mi pregunta anterior sobre GUI en java . Ahora me pregunto cuáles son las soluciones elegidas por los profesionales para obtener una interfaz gráfica de usuario agradable, para aplicaciones "reales". ¿Utilizas swing y JComponents y solo cambias el "look and feel"? ¿Prefieres una biblioteca u otra?
Lo siento si esa pregunta suena rara, soy estudiante y no sé realmente cómo se usa el java en el mundo real ...
Confiamos en SWT para nuestras GUIs de Java. Sí, tiene que incluir una biblioteca nativa externa, pero la apariencia es nativa, más receptiva (aunque Swing se ha vuelto mucho más rápida en los últimos años) y está integrada con otras aplicaciones en la plataforma de destino.
En nuestra empresa utilizamos Swing, ya que la JVM lo soporta, pero utilizamos colores de fondo codificados por color para algunos paneles y botones.
Si usáramos algo diferente, como SWT o Jambi , también tendríamos que implementar esos marcos para todas las plataformas y probar esos marcos para todos los sistemas operativos y versiones de Java (compatibles). No es agradable en absoluto.
Sin embargo, es bastante complicado crear una buena aplicación receptiva con Swing; por lo que realmente necesita utilizar SwingWorker y similares. Con un poco de experiencia, sin embargo, puedes crear una buena aplicación de esa manera.
E incluso si no es el marco más rápido para desarrollar, el tiempo de desarrollo es realmente pequeño en comparación con la definición de los requisitos funcionales de la interfaz de usuario, y las pruebas y el soporte cuando se lanza la versión.
Dicho esto, nuestro objetivo son los escritorios. Si se dirige a dispositivos móviles o también necesita una interfaz web, sus opciones pueden variar.
Las aplicaciones más decentes que vi en los últimos años se crearon utilizando la plataforma de cliente enriquecido de Eclipse
Eclipse utiliza el kit de herramientas de widgets estándar
y proporciona el marco de edición gráfica (GEF)
Macintosh OS X crea su propio tiempo de ejecución de Java. Le dan a los componentes Swing la misma apariencia que las aplicaciones nativas.
Yo uso estrictamente Swing. Distribuyo aplicaciones de escritorio "reales" a través de Web Start para Mac y Windows que interactúan con el lector de tarjetas inteligentes del usuario.
El IDE de NetBeans le ofrece una forma WYSIWYG para crear sus formularios. Lo probé y es bastante bueno, pero aún usamos Eclipse como nuestro IDE y diseñamos los formularios en código.
Mi experiencia es que la mayoría de las organizaciones que desean crear GUI ricas aún usan Swing y pasan manualmente por todas las molestias de los administradores de diseño, etc.
El uso de SWT está bastante limitado a las organizaciones que utilizan el Eclipse RCP como su plataforma. No estoy seguro de por qué no se ha puesto fuera de esta plataforma.
Es triste admitirlo, pero las GUI de Java Swing generalmente no se ven bien a menos que pases mucho tiempo creando una sensación más nativa para ellas. Incluso entonces, a menudo pierden la estética ante programas equivalentes escritos específicamente para Windows y que utilizan API de Windows como WinForms.
Normalmente utilizamos Swing porque está soportado en JRE estándar fuera de la caja. Normalmente hacemos el diseño del formulario inicial y la conexión de eventos en Netbeans y luego lo exportamos a lo que deseemos, Eclipse, por ejemplo.
Netbeans escupe Java puro usando bibliotecas estándar (más uno o más archivos que debes incluir), por lo que no es gran cosa diseñar el formulario en Netbeans y luego pasar a otra cosa.
Algunas personas sugirieron hacer un diseño de formulario a mano usando un administrador de diseño Lo veo como una opción solo si está haciendo algo grande y muy bien presupuestado que debe mantenerse hasta el infinito. De lo contrario, es demasiado lento para que valga la pena.
Ya no creo que nadie prefiera AWT. Swing lo reemplazó por completo hace once años, basándose en él para corregir fallas en el diseño AWT 1.0.
Swing no es la única forma en que los profesionales crean las interfaces de usuario de Java. Eso funciona para equipos de escritorio, pero también hay JavaFX ahora. Para la web, las UI se crean utilizando HTML, CSS, JavaScript y JSP.