Use um designer de GUI ou escreva você mesmo para a área de trabalho?


8

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?


Eu trabalho em um aplicativo Java GUI com 650k linhas de código e leva aproximadamente um minuto para compilar. No entanto, trabalhando no Eclipse, ele é incrementalmente construído para você. Dado isso, não preciso criar o aplicativo inteiro toda vez que quiser executá-lo. Simplesmente reinicio o aplicativo e ele roda com minhas alterações. Não é necessário esperar.
Nemi

1
Ah, sim, e os construtores de GUI são maus. Se seu objetivo é criar software que não possa ser mantido por ninguém (inclusive você), você está no caminho certo.
Nemi

Respostas:


6

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.


Qual estrutura você usa? Eu não posso imaginar escrevendo um UI WPF sem um designer, por exemplo ...
Dean Harding

Não tive muitas oportunidades de brincar com o WPF - dito isso, nas poucas vezes em que o usei, usei o designer para zombar do layout geral e, em seguida, editar o XAML manualmente, mantendo um olho no vista de design para ver como está.
Anon.

Na verdade, é uma alegria trabalhar com o Glade e produz interfaces com toda a capacidade de redimensionar e tema que uma interface do usuário deve ter. Além disso, você pode simplesmente carregar o arquivo de projeto (XML) em tempo de execução, consultá-lo, anexar eventos e, de repente, seu aplicativo simplesmente funciona. É realmente o melhor dos dois mundos, na minha experiência. Sem mencionar que, se você escrever o aplicativo em C ou Python, também receberá a ligação automática de retornos de chamada de eventos, sem necessidade de consulta.
Jon Purdy

@ Dean Harding Estou usando o WPF há quase três anos e quase nunca usei o designer. Posso iniciar o layout geral com ele, mas depois faço tudo manualmente.
MetalMikester

@ Dean Harding - se você estiver usando um designer para o WPF, estará perdendo um dos melhores recursos: o layout automático. Eu fiz muito WPF e nunca usei um designer. Meus desenhos nunca são tão "estáticos".
Scott Whitlock

4

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.


sim, a construção de layouts balanço à mão é tedioso e demorado, usando Matisse foi sempre a minha escolha
Mahmoud Hossam

3

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.


2

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.


1

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.


0

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.


0

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.


0

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

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.