none
WPF x Winforms RRS feed

  • Pergunta

  • Quais as vantagens em usar o wpf ao invés do winforms? O wpf é o futuro? Por que sinceramente eu não vejo vantagem em utilizar o wpf no momento, mesmo sendo para novos projetos. Se alguém puder me tirar essas dúvidas eu agradeço.


    Att,

    Ricardo
    Ricardo Novais
    terça-feira, 24 de fevereiro de 2009 00:28

Respostas

  • Olá Ricardo, minha opinião pessoal sobre o WPF é que com certeza ele deve ser o futuro da plataforma, eu achei muitas vantagens na utilização dele ao invés de forms, acho que tem muita coisa que você faz com menos ou com nenhum código, apenas utilizando as facilidades do xaml. Eu o incentivo a iniciar estudos de WPF, aos poucos você perceberá as vantagens e também as desvantagens... Por enquanto eu vejo muitas vantagens e apenas uma desvantagem, algumas coisas não são assim tão óbvias e fáceis de assimilar, mas mesmo assim acho que a prática e o tempo podem resolver isso.

    []'s


    Roni Peterson
    quinta-feira, 19 de março de 2009 20:19
  • E comparando a performance entre o Winforms X WPF, qual é o mais rápido?

    Att,

    Ricardo

    Ricardo Novais
    Gente agora fiquei com a mesma duvida do Ricardo será que há algum ganho em desempenho para aplicações mais complexas ou o fato de possuir mais recursos e melhor aparencia grafica pode até mesmo diminuir o desempenho.

    Bem.... vc mantem o framework na maior parte em memoria.... no caso do WPF, enquanto no Windows Forms ocasiona numa serie de chamadas a APIs do windows... o que demanda uma maior leitura em disco...

    entao... quando mais RAM disponivel... mais rapido (em teoria) o wpf vai ser em relacao ao Winforms
    Se não funciona de um jeito, tente de outro totalmente diferente ^_^
    quinta-feira, 23 de julho de 2009 00:26
    Moderador
  • Bem... eu penso o seguinte... quais as desvantagens em se usar WPF ? Tmb não vejo muitas...

    Ambos funcionam bem... fazem a mesma coisa... entao porque usar WPF ?

    Simple... pq eh muito mais facil fazer um sistema em WPF q no Windows Form ^^
    terça-feira, 17 de março de 2009 21:07
    Moderador
  • Sem dúvida a Microsoft vai deixar o Windows Forms de lado porque o WPF é sua futura plataforma de apresentação.

    No entando hoje ainda temos algumas facilidades no desenvolvimento Windows Forms, compare por exemplo a barra de ferramentas no visual studio do wpf e do windows forms. Temos também bem mais controles de terceiros no mercado para Windows Forms.

    Acredito que o ideal é começar a utilizar WPF a menos que a execução seja importante no Windows 98 (WPF nao roda no mesmo apenas Windows Forms 2.0).

    A grande vantagem/diferencial do WPF é na construção de layouts mais interativos com o usuário, algo que é bem mais dificil de conseguir com Windows Forms. No entando o uso do WPF para programadores Windows Forms é uma quebra de paradigma porque não estamos acostumados a trabalhar com linguagem declarativa para a contrução de layout como o XAML mesmo utilizando o Blend.

    No começo o desafio é grande, mas o Windows Forms não tem futuro então quanto mais demorar a migrar para wpf pior, porque um dia a migração será necessária. Eu recomendo uma migração gradativa. Comece com pequenos projetos ou partes de projetos em Windows Forms já que é possivel integrar os dois.
    quarta-feira, 25 de março de 2009 16:51
  • Ricardo,

    as tuas questões são muito questionada quando se pensa duas vezes em passar o desenvolvimento de Windows Form para WPF.

    Eu já passei o mesmo na empresa onde trabalho. E ainda bem fiz a passagem.


    O WPF tem várias vantages:

    * Podemos criar uma aparência no projecto totalmente revolucionária, e o cliente ser conquistado não só pela parte funcional mas também pela aparência;
    * Facilidade na criar formulários de edição de dados, com o uso de Bindings, ValidationRules, Converters vamos ficar com o projecto bem organizado, podemos controlar a forma de dispor a informação para o utilizador, a validação de dados também é muito simples e rápida.

    * Temos o ObservableCollection que nos permite trabalhar com a nossa própria colecção e está faz reflectir todas as alterações nos controlos de WPF, sem trabalho adicional!

    * podemos passar a trabalhar com os nossos objectos, sem ter que andar a criar item intermédios para depois apresentar ao utilizador.
    Um exemplo que normalmente apresento é: imagina que tens uma lista de empregados ( List<Empregado> _empregados ) e os queres apresentar numa listview, só tens que criar o listview.view onde defines tds as colunas (com os respectivos bindings!) e depois listview.ItemsSource=_empregados;  e já está tudo pronto para visualizar os teus elementos.  Para alterar os elementos basta trabalhares com a a lista _empregados.
    Só tem aqui uma questão como a List<T> nao é Observable não vai reflectir alterações no controlo. Então o mais correcto é usar o objecto ObservableCollection em vez de List.

    Simples?

    em windowsForms, terias que criar as várias colunas, depois disso tinhas que criar cada listviewitem que por sua vez tem um conjunto de listviewsubitem, depois criar os métodos Add/Remove/Refresh de um elemento na listview e ainda mandar a consistência entre os elementos _empregados e os elementos das listview.
    Bem que trabalheira e só a quantidade de código!!

    * Passamos a ter disponiveis os controlos Line, Circule, Rectangle, Polilyne, Path...... que facilita a vida a quem tem aplicações que usa este controlos de base para criação de controlos gráficos mais complexo.

    Tive que desenvolver um controlo gráfico em Windows Forms, onde eu precisava de controlos que disse anteriormente, e não tinha nem um! Em VB6 ainda havia o controlo Line, mas em WF não...tive que os criar e depois usá-los para o desenvolvimento do meu controlo principal, e tenho a dizer que foi extremamente complexo, dificil, e irritante! Porque em WF primeiro que se descobra como se tem acesso a informação de mais baixo nivel é uma dor de cabeça!

    Em WPF simplesmente tem uma liberdade incrivel! Neste momento só peço para não me colocarem a desenvolver em WF! :P

    Penso que existe muito mais razões apontar, mas acho que só quando se passa para WPF  ve as mais valias :)

    Cumprimentos
    Sara Silva
    quarta-feira, 15 de julho de 2009 11:21
  • Uso WPF desde que saiu no framework 3.0.

    No começo tive muitas dificuldades pois não tem MDI , Error provider e algumas outras coisas.

    Se você depende-se do que é nativo do WPF realmente ficaria complicado o seu uso.Mas aprendi desenvolver alguns componentes proprios e claro uso também de terceiros.

    Algumas propriedades não existe para certos controles, enfim foi um desafio.

    Mas agora após 1 ano trabalhando com WPF digo que valeu a pena.Estou satisfeito com resultado que obtive, mas espero que o WPF evolua mais e que futuramente tenhamos mais opções.

    Abraços.
    kaneda182
    segunda-feira, 20 de julho de 2009 17:00
  • Bom gente acabei de ler um artigo que fala de maneira muito clara sobre o funcionamento de WPF e de seus recursos portanto aconselho a leitura para que se possa chegar a uma conclusão sobre este assunto, dois itens que tratam o artigo são interressantes e devem pesar na escolha cada um são o fato de codigo gerenciado(WPF) consumir mais recursos, o que pode impactar no desempenho da aplicação, além disso temos diversas vantagenes como os estilos que podem padronizar itens da interface de maneira agradavel e facil . eu pelo menos que já tinha intenção de usar o WPF como padrão para minhas aplicações continuo convicto disso. porém quando digo padrão não estou dizendo que nunca vou usar Win Forms só que enquanto for possivel vou preferirei o WPF. acredito que por estar começando eu nao cheguei a "laços" com o Windows Forms por isso para mim é uma escolha mais facil baseada em pouco conhecimento realmente porém acredito que tratasse de uma tendencia e portanta não serei o unico a preferir WPF.

    http://www.microsoft.com/brasil/msdn/tecnologias/netframework/WPF_Intro_Arquit.mspx
    segunda-feira, 14 de setembro de 2009 01:29
  • Ricardo,

    Atualmente tenho estudado bastante WPF e em paralelo um pouco de Silverlight. Particularmente, prefiro WPF a Windows Forms por diversas razões já listadas nos posts anteriores (data binding, animações, estilos etc).

    No início do ano o Giovanni Bassi, arquiteto e MVP, lançou essa discussão no Twitter e escreveu sobre isso em seu blog. Vale a pena conferir.

    WPF ou Windows Forms
    http://unplugged.giggio.net/unplugged/post/WPF-ou-Windows-Forms.aspx

    Att.

    Ari C. Raimundo
    MCAD, MCP
    http://araimundo.blogspot.com
    sexta-feira, 26 de fevereiro de 2010 04:14
    Moderador

Todas as Respostas

  • Bem... eu penso o seguinte... quais as desvantagens em se usar WPF ? Tmb não vejo muitas...

    Ambos funcionam bem... fazem a mesma coisa... entao porque usar WPF ?

    Simple... pq eh muito mais facil fazer um sistema em WPF q no Windows Form ^^
    terça-feira, 17 de março de 2009 21:07
    Moderador
  • Olá Ricardo, minha opinião pessoal sobre o WPF é que com certeza ele deve ser o futuro da plataforma, eu achei muitas vantagens na utilização dele ao invés de forms, acho que tem muita coisa que você faz com menos ou com nenhum código, apenas utilizando as facilidades do xaml. Eu o incentivo a iniciar estudos de WPF, aos poucos você perceberá as vantagens e também as desvantagens... Por enquanto eu vejo muitas vantagens e apenas uma desvantagem, algumas coisas não são assim tão óbvias e fáceis de assimilar, mas mesmo assim acho que a prática e o tempo podem resolver isso.

    []'s


    Roni Peterson
    quinta-feira, 19 de março de 2009 20:19
  • estou utlilizando WPF para fazer meu trabalho final da faculdade, e estou encontrando alguns problemas, devido a nao estar acostumado com a tecnologia. principlamente com relação a linguagem xaml. Neste caso se eu fosse fazer com winForm teria mais facilidades. Mas optei pelo WPF devido a necessidade de animações no meu sistema, no que o WPF tem se mostrado satisfatorio.



    segunda-feira, 23 de março de 2009 20:17
  • Sem dúvida a Microsoft vai deixar o Windows Forms de lado porque o WPF é sua futura plataforma de apresentação.

    No entando hoje ainda temos algumas facilidades no desenvolvimento Windows Forms, compare por exemplo a barra de ferramentas no visual studio do wpf e do windows forms. Temos também bem mais controles de terceiros no mercado para Windows Forms.

    Acredito que o ideal é começar a utilizar WPF a menos que a execução seja importante no Windows 98 (WPF nao roda no mesmo apenas Windows Forms 2.0).

    A grande vantagem/diferencial do WPF é na construção de layouts mais interativos com o usuário, algo que é bem mais dificil de conseguir com Windows Forms. No entando o uso do WPF para programadores Windows Forms é uma quebra de paradigma porque não estamos acostumados a trabalhar com linguagem declarativa para a contrução de layout como o XAML mesmo utilizando o Blend.

    No começo o desafio é grande, mas o Windows Forms não tem futuro então quanto mais demorar a migrar para wpf pior, porque um dia a migração será necessária. Eu recomendo uma migração gradativa. Comece com pequenos projetos ou partes de projetos em Windows Forms já que é possivel integrar os dois.
    quarta-feira, 25 de março de 2009 16:51
  • Gente estou comçando a programar agora em visual C# e uma vantagem que li sobre o wpf era a integração com web e o no proprio livro do Visual C# 2008 todos os programas já são em wpf provavelmente eu so irei usar apenas wpf pois não gosto de programar para web convencional portanto a acredito que a tendencia será o abono do forms por completo a medida que mais aplicaçoes forem migrando para web.
    sábado, 27 de junho de 2009 22:38
  • E comparando a performance entre o Winforms X WPF, qual é o mais rápido?

    Att,

    Ricardo

    Ricardo Novais
    segunda-feira, 6 de julho de 2009 00:20
  • Ricardo,

    as tuas questões são muito questionada quando se pensa duas vezes em passar o desenvolvimento de Windows Form para WPF.

    Eu já passei o mesmo na empresa onde trabalho. E ainda bem fiz a passagem.


    O WPF tem várias vantages:

    * Podemos criar uma aparência no projecto totalmente revolucionária, e o cliente ser conquistado não só pela parte funcional mas também pela aparência;
    * Facilidade na criar formulários de edição de dados, com o uso de Bindings, ValidationRules, Converters vamos ficar com o projecto bem organizado, podemos controlar a forma de dispor a informação para o utilizador, a validação de dados também é muito simples e rápida.

    * Temos o ObservableCollection que nos permite trabalhar com a nossa própria colecção e está faz reflectir todas as alterações nos controlos de WPF, sem trabalho adicional!

    * podemos passar a trabalhar com os nossos objectos, sem ter que andar a criar item intermédios para depois apresentar ao utilizador.
    Um exemplo que normalmente apresento é: imagina que tens uma lista de empregados ( List<Empregado> _empregados ) e os queres apresentar numa listview, só tens que criar o listview.view onde defines tds as colunas (com os respectivos bindings!) e depois listview.ItemsSource=_empregados;  e já está tudo pronto para visualizar os teus elementos.  Para alterar os elementos basta trabalhares com a a lista _empregados.
    Só tem aqui uma questão como a List<T> nao é Observable não vai reflectir alterações no controlo. Então o mais correcto é usar o objecto ObservableCollection em vez de List.

    Simples?

    em windowsForms, terias que criar as várias colunas, depois disso tinhas que criar cada listviewitem que por sua vez tem um conjunto de listviewsubitem, depois criar os métodos Add/Remove/Refresh de um elemento na listview e ainda mandar a consistência entre os elementos _empregados e os elementos das listview.
    Bem que trabalheira e só a quantidade de código!!

    * Passamos a ter disponiveis os controlos Line, Circule, Rectangle, Polilyne, Path...... que facilita a vida a quem tem aplicações que usa este controlos de base para criação de controlos gráficos mais complexo.

    Tive que desenvolver um controlo gráfico em Windows Forms, onde eu precisava de controlos que disse anteriormente, e não tinha nem um! Em VB6 ainda havia o controlo Line, mas em WF não...tive que os criar e depois usá-los para o desenvolvimento do meu controlo principal, e tenho a dizer que foi extremamente complexo, dificil, e irritante! Porque em WF primeiro que se descobra como se tem acesso a informação de mais baixo nivel é uma dor de cabeça!

    Em WPF simplesmente tem uma liberdade incrivel! Neste momento só peço para não me colocarem a desenvolver em WF! :P

    Penso que existe muito mais razões apontar, mas acho que só quando se passa para WPF  ve as mais valias :)

    Cumprimentos
    Sara Silva
    quarta-feira, 15 de julho de 2009 11:21
  • Uso WPF desde que saiu no framework 3.0.

    No começo tive muitas dificuldades pois não tem MDI , Error provider e algumas outras coisas.

    Se você depende-se do que é nativo do WPF realmente ficaria complicado o seu uso.Mas aprendi desenvolver alguns componentes proprios e claro uso também de terceiros.

    Algumas propriedades não existe para certos controles, enfim foi um desafio.

    Mas agora após 1 ano trabalhando com WPF digo que valeu a pena.Estou satisfeito com resultado que obtive, mas espero que o WPF evolua mais e que futuramente tenhamos mais opções.

    Abraços.
    kaneda182
    segunda-feira, 20 de julho de 2009 17:00
  • E comparando a performance entre o Winforms X WPF, qual é o mais rápido?

    Att,

    Ricardo

    Ricardo Novais
    Gente agora fiquei com a mesma duvida do Ricardo será que há algum ganho em desempenho para aplicações mais complexas ou o fato de possuir mais recursos e melhor aparencia grafica pode até mesmo diminuir o desempenho.
    quarta-feira, 22 de julho de 2009 22:05
  • E comparando a performance entre o Winforms X WPF, qual é o mais rápido?

    Att,

    Ricardo

    Ricardo Novais
    Gente agora fiquei com a mesma duvida do Ricardo será que há algum ganho em desempenho para aplicações mais complexas ou o fato de possuir mais recursos e melhor aparencia grafica pode até mesmo diminuir o desempenho.

    Bem.... vc mantem o framework na maior parte em memoria.... no caso do WPF, enquanto no Windows Forms ocasiona numa serie de chamadas a APIs do windows... o que demanda uma maior leitura em disco...

    entao... quando mais RAM disponivel... mais rapido (em teoria) o wpf vai ser em relacao ao Winforms
    Se não funciona de um jeito, tente de outro totalmente diferente ^_^
    quinta-feira, 23 de julho de 2009 00:26
    Moderador
  • Bom gente acabei de ler um artigo que fala de maneira muito clara sobre o funcionamento de WPF e de seus recursos portanto aconselho a leitura para que se possa chegar a uma conclusão sobre este assunto, dois itens que tratam o artigo são interressantes e devem pesar na escolha cada um são o fato de codigo gerenciado(WPF) consumir mais recursos, o que pode impactar no desempenho da aplicação, além disso temos diversas vantagenes como os estilos que podem padronizar itens da interface de maneira agradavel e facil . eu pelo menos que já tinha intenção de usar o WPF como padrão para minhas aplicações continuo convicto disso. porém quando digo padrão não estou dizendo que nunca vou usar Win Forms só que enquanto for possivel vou preferirei o WPF. acredito que por estar começando eu nao cheguei a "laços" com o Windows Forms por isso para mim é uma escolha mais facil baseada em pouco conhecimento realmente porém acredito que tratasse de uma tendencia e portanta não serei o unico a preferir WPF.

    http://www.microsoft.com/brasil/msdn/tecnologias/netframework/WPF_Intro_Arquit.mspx
    segunda-feira, 14 de setembro de 2009 01:29
  • E Você axa que o WPF não usa uma Série de chamadas de APIs tambem, por que voce acha que algumas funções são disponiveis só no windows vista e 7
    de uma olhada nessa imagem
    Tanto as APIs do User32 e do Directx são usadas
    quinta-feira, 25 de fevereiro de 2010 19:47
  • O WinForms tambem usa codigo gerenciado(Não confunda WinForms com win32) Ele é a mesma coisa que o wpf , apenas uma interface grafica para a plataforma framework.net, a diferença do wpf e do winForms é o metodo de programação enquanto o Winforms oferece poucas opçoes de efeitos na parte grafica o wpf oferece mais porem algumas coisas ainda é melhor para usar no winforms por exemplo o wpf oferece uma serie enorme de opções para textura, efeitos para o componente e muitas das opções sao as vezes desnecessarias ou seja voce nunca ira usar todos os recursos do wpf como animações 3d etc, porem o winforms tem só o basico e voce pode criar seus proprios componentes com uma liberdade maior de acordo com o que voce precisa


    quinta-feira, 25 de fevereiro de 2010 20:00
  • Quais as vantagens em usar o wpf ao invés do winforms? O wpf é o futuro? Por que sinceramente eu não vejo vantagem em utilizar o wpf no momento, mesmo sendo para novos projetos. Se alguém puder me tirar essas dúvidas eu agradeço.


    Att,

    Ricardo
    Ricardo Novais
    A Resposta é simples 

    O wpf é apenas um sistema grafico diferente do winforms, porem as duas são usadas no framework.net
    a maneira de programar que o WPF usa é muitu parecida com o flash e o canvas do javascript, mais voltadas para animações e efeitos visuais

    em relação ao futuro ouve varias coisas que deram certo e que não deram por exemplo: jamais imaginavam que a 15 anos atraz que a linguagem java predominaria

    Outra coisa tambem é que o wpf que a microsoft afirma ser o futuro para a WEB, vai ser inútil caso a era do HTML5 para os navegadores venha a tona segundo os planos da google, soh por isso voce vai parar de programar pra plataforma .net? Não, creio eu
    Pela mesma razão você não precisa usar o WPF para seus projetos a menos que você queira Usar animações e efeitos 3D 
    quinta-feira, 25 de fevereiro de 2010 20:15
  • Ricardo,

    Atualmente tenho estudado bastante WPF e em paralelo um pouco de Silverlight. Particularmente, prefiro WPF a Windows Forms por diversas razões já listadas nos posts anteriores (data binding, animações, estilos etc).

    No início do ano o Giovanni Bassi, arquiteto e MVP, lançou essa discussão no Twitter e escreveu sobre isso em seu blog. Vale a pena conferir.

    WPF ou Windows Forms
    http://unplugged.giggio.net/unplugged/post/WPF-ou-Windows-Forms.aspx

    Att.

    Ari C. Raimundo
    MCAD, MCP
    http://araimundo.blogspot.com
    sexta-feira, 26 de fevereiro de 2010 04:14
    Moderador
  • Ricardo,

    Atualmente tenho estudado bastante WPF e em paralelo um pouco de Silverlight. Particularmente, prefiro WPF a Windows Forms por diversas razões já listadas nos posts anteriores (data binding, animações, estilos etc).

    No início do ano o Giovanni Bassi, arquiteto e MVP, lançou essa discussão no Twitter e escreveu sobre isso em seu blog. Vale a pena conferir.

    WPF ou Windows Forms
    http://unplugged.giggio.net/unplugged/post/WPF-ou-Windows-Forms.aspx

    Att.

    Ari C. Raimundo
    MCAD, MCP
    http://araimundo.blogspot.com

    Gostei pra caramba dessa enquete que o Giovanni criou, inclusive participei dela.

    Recomendo altamente o WPF. Motivos para utilizar o WinForms, somente quando for requisitado pelo cliente, pela empresa, ou do nível de conhecimento da equipe desenvolvedora.
    Pode ser mais fácil desenvolver em WPF para nós, que estamos acostumados para ele, mas não para uma equipe que há anos desenvolve somente com WinForms.

    Mas te digo algo: uma hora o WinForms vai deixar de existir... Vide Visual Studio 2010 e .Net 4, que não teve praticamente nenhuma inovação no WinForms 4, enquanto o WPF ganhou suporte à multitouch, integração nativa com Win7, etc...

    Analista de Sistemas - Universo/GO MCTS - WinForms 2.0/WPF 3.5/ASP.Net 3.5
    quinta-feira, 4 de março de 2010 14:07