Escrever uma GUI para um programa sempre foi uma tarefa assustadora, deprimente e frustrante. Não importa qual idioma, é extremamente difícil conseguir o que quero. Especialmente em linguagens compiladas como Java, onde uma alteração leva um ou dois minutos para ser construída.
O resultado é que eu cada vez mais uso designers de GUI para alguns dos meus projetos. Claro que existe algum código spagetti, mas desde que eu deixe a configuração e uma nota dizendo "Isso foi projetado com o X", não tenho escrúpulos em fazer isso.
Essa é uma maneira correta de criar uma GUI? Mais importante, é isso que a maioria das pessoas faz? Ou é a maneira comum de apenas sentar e escrever?
design
gui
automation
TheLQ
fonte
fonte
Respostas:
Na verdade, nunca encontrei um designer visual que facilitasse a criação de designs robustos (se alguém tiver o que quiser, fique à vontade para me corrigir). Eles são ótimos para despejar coisas em uma janela de tamanho fixo para zombar das coisas, mas quando se trata de criar algo que seja redimensionado de maneira agradável, funciona bem com DPI e temas, e todas as outras coisas que separam uma interface do usuário profissional de uma apenas "boa" - basta ", eles honestamente se tornam mais trabalho do que apenas codificá-lo (assumindo uma estrutura decente de interface do usuário para brincar).
Os designers visuais são excelentes para criar rapidamente protótipos de software, testar projetos e brincar para ver como as coisas parecem, mas eu não usaria um para a versão final.
fonte
Planejar sua cabeça e usar papel / caneta é a maneira mais rápida e fácil de inicializar um design.
Quando você estiver pronto para implementar, eu uso um designer de GUI em vez de codificar manualmente. No Java Swing, por exemplo, com qualquer interface grande o suficiente, posso imaginar quanto tempo gastaria fazendo tudo manualmente e depois modificando-o mais tarde. Muito mais fácil usar um construtor de GUI como o Netbeans Matisse e, em seguida, ajustar um pouco manualmente, se necessário.
fonte
Primeiro, crie a GUI no papel.
Depois disso, apenas uso o modo de design do Visual Studios para criar a GUI. Fácil de criar e o que você vê é o que recebe. Além disso, você não precisa reconstruir apenas para visualizar a GUI.
fonte
Um designer de GUI é uma solução rápida tentadora. Mas sentar e fazê-lo manualmente é uma alternativa melhor para projetos e itens que não serão descartados mais tarde.
Normalmente, acho que o melhor método é projetar a GUI primeiro no papel. Faça um esboço aproximado de onde estarão os botões e outros componentes. Então, ao trabalhar em uma linguagem como Java que faça uso de vários gerenciadores de layout, pense em quais componentes e combinações de gerenciadores de layout seriam necessários. Tudo isso antes de começar a codificá-lo. Em seguida, implemente peça por peça.
Se você seguir o curso de design da GUI, sentirá que está fazendo um grande progresso até chegar perto do fim e não conseguir que algo funcione corretamente ou que precise fazer uma alteração. Fazê-lo manualmente parece mais uma tartaruga lenta, mas fornece um progresso constante. Além disso, sua velocidade aumentará quanto mais você o fizer.
fonte
Como alguém já disse, é melhor usar (a) uma folha de papel comum, algumas notas adesivas (vários tamanhos) e tentar fazer o layout no papel, usando as notas adesivas como controles (como botões, combinação caixas e assim por diante) (b) um programa de prototipagem como o GUI Designer Studio ou o complemento de lápis para o firefox ...
Depois da fase de criação de protótipos, com o layout próximo a você, fica mais fácil codificar a interface do usuário, já que você pode implementar padrões como mvc, mvp etc. pois eles reescrevem toda vez que você altera a interface do usuário.
fonte
O Visio oferece um conjunto de stensils da interface do usuário, substituindo efetivamente a caneta e o papel, oferecendo a mesma abordagem de design - pense primeiro, desenhe o segundo e o código por último.
fonte
No VB6 e no Windows Forms eu sempre usei o designer, mas no WPF nunca o uso. O designer do WPF cria XAML terrível, além disso, no WPF, eu gosto de projetar minha interface do usuário como um monte de widgets e deixar a estrutura reunir tudo em tempo de execução. Você perde muita dessa flexibilidade se usar o designer.
fonte
Eu vejo isso mais assim:
(Para qualquer uma dessas opções, sempre desenhe-a em papel ou em um quadro branco, acredite em mim, economiza tempo e frustra o código)
Prototipagem:
Use um designer de GUI, de preferência o recomendado, usado pela maioria em um idioma específico. Dessa forma, seu código não será muito confuso, onde você poderá ajustá-lo ao seu gosto (na maioria das vezes) e, além disso, como o código provavelmente será jogado fora ou alterado muito mais tarde, você não precisará perder muito tempo cedo no ciclo de desenvolvimento. O uso de um designer de GUI é bom para aplicativos GUI simples e rápidos ou para mostrar ao seu cliente uma imagem aproximada do aplicativo onde eles não precisam esperar meses apenas para ver.
Pequenos projetos:
este é um pouco complicado, dependendo do idioma e da restrição de tempo. Usar um designer de GUI aqui seria útil, mas você deve considerar limpá-lo ou criar componentes menores manualmente. Dessa forma, qualquer pessoa (ou você) teria mais facilidade para corrigir bugs e ler o código. Isso ajudará você a obter melhor controle e flexibilidade da GUI. (Também é um bom benefício de aprender enquanto você codifica)
Grandes projetos:
é quando se torna essencial criar GUIs manualmente. Projetos maiores podem se tornar complexos rapidamente e a criação de GUIs com um designer apenas torna o projeto mais complexo e mais difícil de depurar. Criar uma estrutura de GUI para seu aplicativo pode ajudar a interromper a tarefa de criar uma GUI manualmente mais fácil. O controle completo de seu aplicativo é necessário, pois ajudará na manutenção ou se você desejar adicionar recursos mais tarde (ou um cliente irritante que menciona que você perdeu um requisito lol), incorporá-los será menos frustrante e limpo.
Na minha experiência pessoal, aprender a criar GUI manualmente leva tempo e alguns exigem curvas de aprendizado difíceis (Heck, eu programa em Java e o site de tutoriais do Oracle Java o adverte contra fazer GUIs você mesmo e usar um designer), mas no final você ganha maior controle e flexibilidade de seus aplicativos, o que, por sua vez, cria aplicativos com melhor aparência. Espero que você use este um guia aproximado decente! GUIing feliz :)
fonte