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 visual studio selecione “Novo Projeto”
  • 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.
Toolbox e Formulario Vazio

Existem diversos controles prontos,.Basta arrastar na tela e na maioria dos controles clicar 2 vezes sobre o mesmo para implementar seu evento.

Código Separado Do Design

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!

Parte 2