Escribir una GUI para un programa siempre ha sido una tarea desalentadora, deprimente y frustrante. No importa qué idioma, es extremadamente difícil obtener lo que quiero. Especialmente en lenguajes compilados como Java, donde un cambio tarda uno o dos minutos en construirse.
El resultado es que cada vez uso más los diseñadores de GUI para algunos de mis proyectos. Claro que hay un código spagetti, pero mientras salga de la configuración y una nota que diga "Esto fue diseñado con X" no tengo reparos en hacerlo.
¿Es esta una forma correcta de diseñar una GUI? Más importante aún, ¿es esto lo que hace la mayoría de la gente? ¿O es la forma común de sentarse y escribirlo?
design
gui
automation
TheLQ
fuente
fuente
Respuestas:
Nunca he encontrado un diseñador visual que facilite la creación de diseños robustos (si alguien tiene alguno que le guste, no dude en corregirme). Son buenos para tirar cosas en una ventana de tamaño fijo para simular cosas, pero cuando se trata de hacer algo que se adapte bien, que funcione bien con DPI y temas, y todas las demás cosas que separan una interfaz de usuario profesional de una mera "buena" "suficiente", honestamente se vuelven más trabajo que simplemente codificarlo usted mismo (suponiendo un marco de UI decente para jugar).
Los diseñadores visuales son excelentes para crear prototipos de software rápidamente, probar diseños y jugar para ver cómo se ven las cosas, pero no usaría uno para la compilación final.
fuente
Planificar en su mente y luego usar lápiz / papel es la forma más rápida y fácil de inicializar un diseño.
Cuando esté listo para implementar, utilizo un diseñador de GUI en lugar de codificar a mano. En Java Swing, por ejemplo, con cualquier interfaz lo suficientemente grande, puedo imaginar cuánto tiempo estaría perdiendo haciéndolo todo a mano y luego modificándolo. Es mucho más fácil usar un generador de GUI como Netbeans Matisse y luego ajustarlo ligeramente a mano si es necesario.
fuente
Primero cree la GUI en papel.
Después de eso, solo uso el modo de diseño de Visual Studios para crear la GUI. Fácil de crear y lo que ves es lo que obtienes. Además, no tiene que reconstruir solo para ver la GUI.
fuente
Un diseñador de GUI es una solución rápida tentadora. Pero sentarse y hacerlo a mano es una mejor alternativa para proyectos y elementos que no se desecharán más tarde.
Por lo general, encuentro que el mejor método es diseñar primero la GUI en papel. Dibuje un bosquejo aproximado de dónde estarán los botones y otros componentes. Luego, cuando trabaje en un lenguaje como Java que utiliza varios administradores de diseño, piense qué componentes y combinaciones de administradores de diseño serían necesarios. Todo esto antes de comenzar a codificarlo. Luego impleméntelo pieza por pieza.
Si sigue el curso de diseño de GUI, sentirá que está haciendo un gran progreso hasta que se acerque al final y no pueda hacer que algo funcione correctamente o tenga que hacer un cambio. Hacerlo a mano parece más una tortuga lenta, pero proporciona un progreso constante. Además, tu velocidad aumentará cuanto más lo hagas.
fuente
Como alguien ya dijo, es mejor usar (a) una hoja de papel normal, algunas notas adhesivas (varios tamaños) e intentar hacer el diseño en el papel, usando las notas adhesivas como controles (como botones, combo cuadros, etc.) (b) un programa de creación de prototipos como GUI Designer Studio o el complemento de lápiz para firefox ...
Luego, después de la fase de creación de prototipos, con el diseño cerca de usted, es más fácil codificar la interfaz de usuario usted mismo, ya que puede implementar patrones como mvc, mvp, etc., más fácilmente, ya que los editores de la GUI generalmente no le permiten cambiar su código ya que lo reescribirán cada vez que cambie la interfaz de usuario.
fuente
Visio ofrece un conjunto de stensils de interfaz de usuario, por lo que reemplaza efectivamente el bolígrafo y el papel, pero ofrece el mismo enfoque de diseño: piense primero, dibuje segundo, codifique último.
fuente
En VB6 y Windows Forms siempre usé el diseñador, pero en WPF nunca lo uso. El diseñador de WPF crea un XAML terrible, además, en WPF, me gusta diseñar mi interfaz de usuario como un montón de widgets y dejar que el marco lo arme todo en tiempo de ejecución. Pierdes mucha de esa flexibilidad si usas el diseñador.
fuente
Lo veo más así:
(Para cualquiera de estas opciones, dibuje siempre en papel o en una pizarra, créame, ahorra tiempo y frustra el código)
Creación de prototipos:
utilice un diseñador de GUI, preferiblemente uno recomendado por la mayoría en un idioma en particular. De esa manera, su código no será demasiado confuso donde pueda modificarlo a su gusto (la mayoría de las veces) y además, dado que el código probablemente se desechará o cambiará mucho más adelante, no tendrá que perder demasiado tiempo temprano en el ciclo de desarrollo. El uso de un diseñador de GUI es bueno para aplicaciones de GUI rápidas y simples o para mostrarle a su cliente una imagen aproximada de la aplicación donde no tienen que esperar meses solo para ver.
Pequeños proyectos:
este es un poco una mezcla, dependiendo del idioma y la restricción de tiempo. Usar un diseñador de GUI aquí sería útil, pero debería considerar limpiarlo después o crear componentes más pequeños manualmente. De esa manera, cualquier otra persona (o usted) tendría más facilidad para corregir errores y leer el código. Esto lo ayudará a obtener un mejor control y flexibilidad de la GUI. (También un buen beneficio de aprender mientras codifica)
Proyectos grandes:
es cuando se vuelve esencial para crear GUI manualmente. Los proyectos más grandes pueden volverse complejos rápidamente y crear GUI con un diseñador solo hace que el proyecto sea más complejo y más difícil de depurar. Crear un marco de GUI para su aplicación puede ayudar a romper la tarea de crear una GUI manualmente más fácil. Es necesario un control completo de su aplicación, ya que ayudará con el mantenimiento o si desea agregar funciones más tarde (o un cliente molesto que menciona que perdió un requisito jajaja), incorporarlas será menos frustrante y más limpio.
En mi experiencia personal, aprender a crear GUI manualmente lleva tiempo y algunas requieren curvas de aprendizaje difíciles (Heck, programo en Java y el sitio de tutoriales de Oracle Java le advierte contra hacer GUI usted mismo y usar un diseñador), pero al final gana mayor control y flexibilidad de sus aplicaciones, lo que a su vez crea mejores aplicaciones. ¡Espero que uses esta guía aproximada decente! Feliz GUIing :)
fuente