Windows Forms vs WPF — Parte 1
Fala galera,
Esses dias um colega de trabalho que esta começando com C#, me fez a seguinte pergunta: Qual a diferença entre o Windows Forms e o WPF ?
As perguntas mais simples, podem ser as mais interessantes. Para não ficar duvidas, vou tentar explicar um pouco de cada um, ai fica a critério de vocês qual utilizar para o seu projeto.
Windows Forms
O Guerreiro antigo da microsoft ,surgiu junto com o .net framework em 2002.
Podemos dizer que o Windows forms está estável, por mais que não receba novas funcionalidades desde o framework 3.0.
Vantagens em utilizar o Windows Forms :
- A curva de aprendizado: Mesmo para quem está começando a programar , a curva de aprendizado do Windows Forms é tranquila. A facilidade de arrastar os controles para o form e implementar funcionalidades é muito grande.
- Tempo x Alta produtividade: Como sua curva de aprendizado é simples em pouco tempo sua produtividade de desenvolvimento aumenta. É possível fazer grandes projetos em pouco tempo (ainda não estou falando de arquitetura).
- Muita Documentação,Muitos componentes, a Alegria do StackOverflow: Windows forms é antigo, ou seja, material sobre o assunto não falta. É provável que você encontre duvidas,tutoriais e alguém que já tenha feito o que você precisa. O mesmo vale para componentes,a gama é extensa. Alguns são pagos, e bem pagos por sinal,mas dependendo da sua necessidade pode valer o preço.
- Perfomance: Ai depende… Porque ? Aqui entra experiencia própria, utilizei WPF em uma aplicação para gerenciamento de etiquetas com impressoras térmicas. Tinha acabado de aprender na época e achei que seria legal testar.Foi um sucesso funcionou bem, ate eu implementar um sistema de GED com o mesmo. Devido a quantidade de informações na tela, atualizações,o WPF abriu o bico … Resultado, bora utilizar Windows Forms.
Nem tudo são flores,desvantagens em utilizar Windows Forms :
- Resolução: Com a evolução dos monitores (desde 2002,faz tempo em?) diversas resoluções tem aparecido no mercado. Windows forms ainda apanha um pouco nesses pontos. WPF trata muito bem o “estica e puxa”,levando vantagem nesse ponto.
- Eventos por todos os lados: Na minha opinião, Windows forms ao longo do tempo pode ficar meio bagunçado. Como sua ideia original utiliza eventos,fica complicado implementar uma arquitetura melhor. Ja peguei muitos projetos utilizando o padrão Facade ,mas muito coisa bagunçada ainda, por estar nos eventos.
- Está largado, abraços Bill gates : Como eu disse no inicio do artigo, windows forms não é atualizado desde o framework 3.0. (Estamos no 4.6) Algumas funcionalidades podem fazer falta, necessitando aquelas gambetinhas.
Como criar um projeto Windows Forms ?
Vou apenas dar uma explicação bem simples, pois não é o foco do artigo explicar o funcionamento de cada um e sim, uma breve comparação.
- No seu visual studio, selecione “Novo Projeto”.
- Escolhe a linguagem de sua preferencias, C# ou Vb.net
- Selecione Windows Forms Application, de um nome e clique em OK.
Existem diversos controles prontos,.Basta arrastar na tela e na maioria dos controles clicar 2 vezes sobre o mesmo para implementar seu evento.
Na solution explorer , temos o código separado do Designer. Onde podemos arrastar nosso controles e codificar nossos eventos.
Existem diversos tutoriais na internet ,ensinando a desenvolver com Windows forms, então e fácil de achar!
Bom, nos vemos na próxima onde vou falar do WPF e Concluir a Disputa!
Espero ter ajudado!
Aquele abraço!