Windows Forms vs WPF — Parte 2

Fala Galera,
Voltando aqui para falar sobre o WPF, se você ainda não leu a Parte 1 deste artigo, vai la da uma lida e depois volta aqui!
Windows Presentation Foundation (WPF)

O Filho do windows forms apareceu em 2006 junto ao framework 3.0. Utilizando uma linguagem de marcação, conhecida como XAML para desenvolvimento de interfaces mais ricas.
Eu gostava de dizer que o era o HTML do Desktop!
Vantagens em utilizar o WPF :
- Ao infinito e Alem: apesar de estar quase parado com o Windows forms, é muito mais provável que receba novos suportes da microsoft. Um exemplo disso é o Xamarin XAML que foi originado do WPF.
- Resolução: Diferente do windows formas, o WPF não trabalha com pixels. sua forma de ajustar a tela facilita e muito a adaptação com diferentes tipos de tela.
- Arquitetura, binding e MVVM : No começo parece difícil de entender,mas depois que entender a Arquitetura MVVM e seus bindings WPF se torna muito simples de realizar manutenções. Graças a separação de responsabilidades, vários membros da equipe podem trabalhar na interface e no código ao mesmo tempo no projeto.
- Não existem limitações para interface: Como a interface do WPF é escrita em XAML, não existem limites para sua interface. É praticamente possível fazer qualquer coisa, alem de reaproveitar estilos,fontes em diversas telas ( CSS é você?).
Nem tudo são flores,desvantagens em utilizar WPF :
- Menos conteúdo que o Windows forms: Serei sincero,conteúdo existe sim e muito bom. Mas ,perto do windows form existe pouco, principalmente em português . Componentes então, temos poucos focados em WPF. o Que tenho percebido é que isso tem mudado para o XAML, mas por causa do Xamarin.
- Curva de Aprendizado: Não estou dizendo que é difícil,mas para utilizar o WPF direito é necessário aprender alguns conceitos mais avançados de programação. Arquitetura MVVM , entre outras funcionalidades não tão básicas.
Como criar um projeto WPF ?
Novamente eu digo :
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 WPF Application, de um nome e clique em OK.

Existem diversos controles prontos para arrastar.

Porem o foco do WPF e implementação, se da na maioria dos casos através do XAML

Na solution explorer , temos o código separado do Designer. Onde podemos codificar nossos bindings, a diferença é que ao implementar o MVVM a implementação não fica no CS, como no windows forms.
Como no Windows forms (porem menos) existem diversos tutoriais na internet ,ensinando a desenvolver com WPF, então e fácil de achar!
Conclusão / Minha opnião:
Você esta começando a Desenvolver para Desktop e seu foco é apenas Windows? Utilize windows forms. Com sua fácil curva de aprendizado em pouco tempo você estará desenvolvendo ótimos aplicativos de alta complexidade.
Sua aplicação deve rodar em diversas plataformas e/ou possui uma grande complexidade? Utilize WPF. Sua arquitetura facilita e muito manutenções futuras , alem de não ficar preso apenas ao Windows e ser um começo para começar a aprender Xamarin.
Espero ter ajudado,mesmo que de forma básica a esclarecer algumas diferenças
Aquele abraço!