¿Usar un diseñador de GUI o escribirlo usted mismo para el escritorio?


8

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?


Trabajo en una aplicación Java GUI que tiene 650k líneas de código y toma aproximadamente un minuto construirla. Sin embargo, trabajando en Eclipse, se construye incrementalmente para usted. Dado eso, no tengo que compilar toda la aplicación cada vez que quiero ejecutarla. Simplemente reinicio la aplicación y se ejecuta con mis cambios. No se requiere esperar.
Nemi

1
Ah, sí, y los constructores de GUI son malvados. Si su objetivo es crear un software que nadie pueda mantener (incluido usted), está en el camino correcto.
Nemi

Respuestas:


6

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.


¿Qué marco usas? No me puedo imaginar escribir una interfaz de usuario de WPF sin un diseñador, por ejemplo ...
Dean Harding

No he tenido mucha oportunidad de jugar con WPF; dicho esto, en las pocas veces que lo he usado, solo usé al diseñador para burlarme del diseño general y luego editar el XAML a mano mientras mantengo un ojo en el vista de diseño para ver cómo se ve.
Anon

Es un placer trabajar con Glade, en realidad, y produce interfaces con toda la capacidad de cambiar el tamaño y el tema que debería tener una interfaz de usuario. Además, puede cargar el archivo de proyecto (XML) en tiempo de ejecución, consultarlo, adjuntar eventos y, de repente, su aplicación simplemente funciona. Es realmente lo mejor de ambos mundos, en mi experiencia. Sin mencionar que si escribe la aplicación en C o Python, también obtiene el enlace automático de las devoluciones de llamadas de eventos, sin necesidad de consultas.
Jon Purdy

@Dean Harding He estado usando WPF durante casi tres años y casi nunca he usado el diseñador. Puedo comenzar el diseño general con él, pero después de eso hago todo a mano.
MetalMikester

@Dean Harding: si está utilizando un diseñador para WPF, le falta una de las mejores características: el diseño automático. He hecho mucho WPF y nunca uso un diseñador. Mis diseños nunca son tan "estáticos".
Scott Whitlock

4

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.


Sí, construir diseños de columpios a mano es tedioso y requiere mucho tiempo, usar Matisse siempre fue mi elección
Mahmoud Hossam

3

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.


2

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.


1

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.


0

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.


0

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.


0

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 :)

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.