none
Relação WPF / Silverlight

    Question

  • Caros,

    Estou iniciando um projeto de software onde eventualmente precisaremos utilizar o WPF para modelagem de determinados ambientes, deste modo, estou iniciando o trabalho e até então não tenho tido grandes dificuldades, exceto por um motivo.

    O desenvolvimento de janelas mais simples (janelas de entrada de dados) utilizando o WPF tem sido mais sofrível que no modelo tradicional (WindowsForm) . naturalmente pelas diferenças das nomenclaturas principalmente com relação a barra de propriedades, onde os termos são os mais variados possíveis.

    Até o momento não entendi bem o papel do Silverlight no contexto do WPF mas me deu a impressão que através deste eu poderia desenvolver a interface e depois copiar os códigos XAML para minha aplicação, é assim mesmo?  Esta seria uma opção para dinamizar meu trabalho ao mesmo tempo tornando-o mais apresentável?

    Forte Abraço a todos,

    Edson Motta


    Gerente de Projetos, Analista Business Intelligence, Integrações ETL, Mapeamento de Processos Organizacionais - BPM Consultant.
    Friday, August 21, 2009 7:30 PM

Answers

  • Olá.

    Boas discussões animam para participar (rs).

    Acho que o conceito de WPF e Silverlight ainda está confuso aqui. Como já citado, ambos são escrito na linguagem XAML e podem ser programados com C#, VB.net. Outro ponto em comum é que ambos estão presentes no framework 3.5 da Microsoft. Logo são muito semelhantes. Mas o ponto que diferencia ambos é o ambiente que o cliente possui.

    Aplicações WPF são feitas para rodar em cima de um framework completo. Imagina se ao desenvolver um aplicação web o cliente for obrigado a baixar o framework! Não seria nada legal. Uma das alternativas foi o Silverlight (inicialmente chamado de WPF/E). O Silverlight é parecido com o WPF mas possue grandes limitações. Isto ocorre porque ele não necessita da framework .net instalada no cliente para rodar. O seu plugin (aproximadamente 4.5mb) funciona como uma micro framework.

    Não conseguimos comparar uma framework completa (se não me engano, aproximadamente 190mb) com um plugin de 4mb.

    Ambas tecnologias estão recebendo um investimento e uma atenção muito grande. Mas com certeza a aplicação delas será de forma diferente. Vejo um grande futuro para o Sivlerlight no desenvolvimento de websites ricos, utilizando o conceito web 2.0 (e logo o 3.0). Para o WPF, o desenvolvimento de aplicações, onde o cliente precisa de grandes recursos e a instalação do framework não torna algo inconveniente(cenário corporativo).

    Mas o fundamento das duas tecnologias são muito parecidos, o que vai diferenciar a escolha será o cenário do cliente.

    Lembrando apenas que é possível fazer aplicações web com o WPF e utilizar o recurso out-of-browser do Silverlight 3 para rodá-lo independente do browser. Mas ainda sim cai no contexto Plugin x Framework.

    Não sei se ajudei a esclarecer alguma coisa, mas fica minha visão das duas tecnologias.

    Abraços.
    Tuesday, August 25, 2009 3:01 PM
  • Olá Edson,

    Eu acho que não esta bem claro a diferença entre Silverlight e WPF. Vou fazer um breve resumo entre os dois.

    O WPF faz parte do .Net portanto, ele precisa do Runtime do .Net para rodar, fazendo uma analogia, é como se fosse o Windows Forms, só roda se tiver o .Net instalado na máquina do cliente.

    Continuando com uma analogia, vou dar um outro exemplo para ficar fácil de entender, para uma aplicação ASP.NET rodar no cliente não precisa do .Net instalado na máquina do cliente, pois, no cliente fica somente HTML puro e JavaScript. Agora vamos para o Silverlight para entender onde eu quero chegar, rsrsrsrs, no caso do Silverlight, não há a necessidade de ter o .Net instalado na máquina do cliente, a unica coisa que precisa é um simples plugin para rodar o Silverlight, o .Net só se faz necessário na maquina de desenvolvimento, haja visto que o desenvolvedor irá usar o Visual Studio para desenvolver a aplicação.

    Silverlight e WPF são dois coisas totalmente distintas, a única coisa que existe em comum entre os dois é o fato de usar o XAML  para desenvolver a interface. Com relação a sua pergunta de ter um plugin para rodar o WPF eu acho isso uma tarefa quase impossivel, pois esse plugin teria que ter todo o .Net Framework, por tanto esse plugin seria muito grande.

    Espero ter te ajudado e caso eu não tenha conseguido ser claro nas minhas explicações por gentileza faça novamente sua pergunta.

    Te desejo muito sucesso em seu projeto.
    Emerson
    Tuesday, August 25, 2009 2:59 PM

All replies

  • Edson, o Silverlight é um plugin para um browser e nao faz parte do framework.NET (nem é necessario ter o .NET instalado para rodar o Silverlight)

    o WPF ja é uma camada grafica desenvolvida para o framework .NET

    em comun ambos usam XAML para criação de seus formularios, porem a origem dos componentes é diferente, uma fica no .NET outra fica no plugin do Silverlight.

    nem tudo que vc fizer em um necessariamente funcionaria no outro.


    agora não entendi pq vc faria q interface em silverlight para facilitar se a dificuldade é a mesma de fazer em WPF. vc pode usar o Expresion Blend para ambos...  e bem... como eu sempre preferi montar uma pagina html usando o bloco de notas... o Xaml tem sido uma mao na roda para mim... é so uma questao de costume
    What would Brian Boitano do ?
    Friday, August 21, 2009 8:45 PM
  • Oi Rui,

     

    Obrigado pelas prontas respostas. Citei o Silverlight erroneamente, na verdade me referia ao Expresion Blend mesmo, os temos, assim como o conceito ainda estão um pouco soltos pra mim. (risos), seu comentário me tranqüiliza, pois sei que posso resolver tudo na esfera do VS.NET com a mesma qualidade de outras ferramentas, agora e só por a mão na massa....Obrigado....

     

    Forte Abraço,

     

    Edson  

     


    Gerente de Projetos, Analista Business Intelligence, Integrações ETL, Mapeamento de Processos Organizacionais - BPM Consultant.
    Monday, August 24, 2009 2:01 PM
  • Ola, Edson

    Na minha opnião, antes de você começar um projeto em WPF você deve analisar o motivo que esta te levando a usar o WPF. O WPF serve para você criar uma interface mais rica com o usuário e separa o trabalho do designer e do programador, na minha opnião você só deve usar o WPF somente se for precisar de recursos graficos que o WinForms não te oferece, vale lembrar que o WPF consume muitos recursos, muita memória e muito processador se o cliente não tiver uma boa máquina a aplicação ficará lenta e uma aplicação em Windows Forms além de ser mais rápida voce consegui desenvolver a aplicação em menos tempo.

    Emerson
    Monday, August 24, 2009 7:02 PM
  • Ah ta... vc ta falando que nao se acertou com o Blend... pois eh... eu tmb nao... kkkk

    o beta no VS2010 ja é possivel trabalhar com o Silverlight 2 da mesma forma q o WPF, mas o silverlight 3 ainda nao.... como é um beta logico que devem arrumar isso ate a versao final...


    e Emerson, bem o que vc dis é em partes verdades... mas é relativo... tenho sistemas em WPF rodando em terminais Celeron 1200 com 512 de ram sem nenhum problema... mesmo pq como o Presentation fica todo em memoria, vc diminui o acesso a disco e reduz o tempo de espera da aplicaçao....

    basicamente se a maquina roda Vista, roda WPF... sem crise...

    e na verdade eh muito mais rapido desenvolver uma aplicaçao em Xaml que Winforms... principalmente pelo fato q o desenvolvimento da interface pode ser feita em paralelo com as classes de manipulaçoes de dados... o Xaml foi focados nos desinger, por isso é normal achar q é mais demorado de se fazer mas como eu trabalhei nessa area por muito tempo foi facil para mim... qq um com um pouco de experiencia em Flash + Photoshop + Dreamweaver + Html, consegue se adaptar ao Xaml rapidamente e fazr interfaces com uma velocidade incrivel...

    What would Brian Boitano do ?
    Monday, August 24, 2009 8:16 PM
  •  

    Oi Emerson,

    Realmente, concordo com você quando ao cuidado na utilização do WPF ou qualquer outra tecnologia ainda em estado embrionário. Entretanto, no nosso caso, as possibilidades no que tange a manipulação e composição de imagens, formas, etc. trará um importante diferencial para o projeto, isto é, se conseguirmos implementar (risos), Agradeço sua ajuda e lhes manterei informado quanto ao andamento do projeto.

     

    Cabe lembrar ainda que ao que parece o WPF será de fato a nova “cara’ da Microsoft para projeto no VS.NET, tenho lido que investimentos em Windows Form serão reduzidos em detrimento aos avanços tecnológicos do modelo WPF, deste modo acho interessante buscar oportunidades de utilização desta prática a fim de se manter atualizado quando eventuais mudanças ocorrerem .



    Forte Abraço,

     

    Edson

     


    Gerente de Projetos, Analista Business Intelligence, Integrações ETL, Mapeamento de Processos Organizacionais - BPM Consultant.
    • Edited by Edson Motta Tuesday, August 25, 2009 12:03 PM
    Tuesday, August 25, 2009 11:56 AM
  • Cabe lembrar ainda que ao que parece o WPF será de fato a nova “cara’ da Microsoft para projeto no VS.NET, tenho lido que investimentos em Windows Form serão reduzidos em detrimento aos avanços tecnológicos do modelo WPF, ...



              Caro amigo Edson, você tem toda razão a Microsoft realmente irá a os poucos ir diminuindo os investimentos em Windows Forms, porem posso afirmar que o grande investimento da Microsoft esta sendo e continuará sendo durante muitos anos no Silverlight.
              Eu sou Analista do Centro de Inovação de uma empresa que é Partner da Microsoft, e o mês passado aconteceu um evento internacional com os Partners da Microsoft e em todas as palestras do evento o Silverlight foi muito enfatizado, devido o fato de ser multiplataforma, multi S.O., roda em varios Browsers e acima de tudo esta totalmente preparado para a computação nas nuvens(Azure). Durante o evento o próprio Steve Balmer deu muita importancia a o Silverlight e citou que daqui para frente a Microsoft focará todos os seus esforços no Silverlight.
              Aqui na empresa estamos migrando todo o framework que roda em WPF para Silverlight.
              Quero lembrar que cada caso é um caso, sempre vai existir momentos em que teremos que usar o WPF pelo fato de que somente o WPF irá resolver o problema, e  vai existir casos em que só o Silverlight irá resolver o problema, por tanto acho que nesses momentos oque vale é o bom senso.

    Estou disponível para resolver quaisquer dúvidas.

    Emerson
    Tuesday, August 25, 2009 2:15 PM
  • Oi Emerson,

     

    Desculpe ser chato (risos), mas esta resposta me remete a minha pergunta inicial, sendo Silverlight apenas um plugin, para rodar as aplicações nos browsers, ainda existirá a necessidade do ambiente de desenvolvimento para o mesmo, imagino que com as evolução, o próprio WPF seja a plataforma de desenvolvimento para aplicações que rodem no através do Plug-in “Silverlight”, existe algum sentido neste pensamento (risos) ? 

     

     

    Forte abraço, e desculpa o abuso

     

     

    Edson,

     

     


    Gerente de Projetos, Analista Business Intelligence, Integrações ETL, Mapeamento de Processos Organizacionais - BPM Consultant.
    Tuesday, August 25, 2009 2:39 PM
  • Olá Edson,

    Eu acho que não esta bem claro a diferença entre Silverlight e WPF. Vou fazer um breve resumo entre os dois.

    O WPF faz parte do .Net portanto, ele precisa do Runtime do .Net para rodar, fazendo uma analogia, é como se fosse o Windows Forms, só roda se tiver o .Net instalado na máquina do cliente.

    Continuando com uma analogia, vou dar um outro exemplo para ficar fácil de entender, para uma aplicação ASP.NET rodar no cliente não precisa do .Net instalado na máquina do cliente, pois, no cliente fica somente HTML puro e JavaScript. Agora vamos para o Silverlight para entender onde eu quero chegar, rsrsrsrs, no caso do Silverlight, não há a necessidade de ter o .Net instalado na máquina do cliente, a unica coisa que precisa é um simples plugin para rodar o Silverlight, o .Net só se faz necessário na maquina de desenvolvimento, haja visto que o desenvolvedor irá usar o Visual Studio para desenvolver a aplicação.

    Silverlight e WPF são dois coisas totalmente distintas, a única coisa que existe em comum entre os dois é o fato de usar o XAML  para desenvolver a interface. Com relação a sua pergunta de ter um plugin para rodar o WPF eu acho isso uma tarefa quase impossivel, pois esse plugin teria que ter todo o .Net Framework, por tanto esse plugin seria muito grande.

    Espero ter te ajudado e caso eu não tenha conseguido ser claro nas minhas explicações por gentileza faça novamente sua pergunta.

    Te desejo muito sucesso em seu projeto.
    Emerson
    Tuesday, August 25, 2009 2:59 PM
  • Olá.

    Boas discussões animam para participar (rs).

    Acho que o conceito de WPF e Silverlight ainda está confuso aqui. Como já citado, ambos são escrito na linguagem XAML e podem ser programados com C#, VB.net. Outro ponto em comum é que ambos estão presentes no framework 3.5 da Microsoft. Logo são muito semelhantes. Mas o ponto que diferencia ambos é o ambiente que o cliente possui.

    Aplicações WPF são feitas para rodar em cima de um framework completo. Imagina se ao desenvolver um aplicação web o cliente for obrigado a baixar o framework! Não seria nada legal. Uma das alternativas foi o Silverlight (inicialmente chamado de WPF/E). O Silverlight é parecido com o WPF mas possue grandes limitações. Isto ocorre porque ele não necessita da framework .net instalada no cliente para rodar. O seu plugin (aproximadamente 4.5mb) funciona como uma micro framework.

    Não conseguimos comparar uma framework completa (se não me engano, aproximadamente 190mb) com um plugin de 4mb.

    Ambas tecnologias estão recebendo um investimento e uma atenção muito grande. Mas com certeza a aplicação delas será de forma diferente. Vejo um grande futuro para o Sivlerlight no desenvolvimento de websites ricos, utilizando o conceito web 2.0 (e logo o 3.0). Para o WPF, o desenvolvimento de aplicações, onde o cliente precisa de grandes recursos e a instalação do framework não torna algo inconveniente(cenário corporativo).

    Mas o fundamento das duas tecnologias são muito parecidos, o que vai diferenciar a escolha será o cenário do cliente.

    Lembrando apenas que é possível fazer aplicações web com o WPF e utilizar o recurso out-of-browser do Silverlight 3 para rodá-lo independente do browser. Mas ainda sim cai no contexto Plugin x Framework.

    Não sei se ajudei a esclarecer alguma coisa, mas fica minha visão das duas tecnologias.

    Abraços.
    Tuesday, August 25, 2009 3:01 PM
  • Oi Emerson / Lucas,

     

    Suas argumentações estão ajudando muito no meu entendimento sobre as duas tecnologias e suas similaridades.

     

    Talvez tenha dificuldade em me expressar por desconhecer ainda os termos usados nestas tecnologias, mas somente para alinhamento, quando citei: “O próprio WPF seja a plataforma de desenvolvimento para aplicações”

     

    Quis dizer exatamente que o desenvolvimento do projeto seria feito no VS.NET, ainda que para a visualização do projeto só seria necessário um Plug-in no cliente. Exatamente como exemplificou.  (significa que estou chegado lá... “risos”)

     

    Concordo com Lucas quando citou o cenário corporativo, acredito que o WPF trará grandes avanços nesta esfera, atualmente atuo como consultor Business Intelligence , e vejo no WPF um conjunto de recursos que permitiram o desenvolvimento modelos de apresentação para mineração visual de dados impensados em modelos atuais , e melhor, minimizando os custos de HH (rsrs)

     

    Atualmente estou lendo Windows Presentation Foundation Unleashed, me parece um bom livro, pelo menos até o momento rsrs. Espero dominar melhor estes termos em breve, bem como, aprimorar meu entendimento sobre esse conjunto de tecnologias que estão se formando.

     

    Como não terei muito tempo para conhecer toda estrutura do WPF  pois como sabe, na TI “tudo é pra ontem “(risos) tenho muito que abusar vocês.....brincadeira.

     

     

    Abraço,

     

    Edson

     

     

    • Edited by Edson Motta Tuesday, August 25, 2009 7:19 PM
    Tuesday, August 25, 2009 7:15 PM
  • Eita gente... deu preguiça de ler tudo mas so vo colocar uns adendo q nao sei se puseram mas na minha batida de olho faltaram...

    " não há a necessidade de ter o .Net instalado na máquina do cliente" inclusive nem no server kkkkkkkk tenho um app silverlight rodando num server linux...

    nomad.sqweebs.com (p.s. nao vai abrir os mangas pq to tendo problema em dar upload em arquivo maior de 5 megas..)

    Outra coisa... eu to fazendo um ERP em Silverlight ... tenho mais de 600 unidades para acessar o sistema entao to modularizando ele de forma a cada usario acessar uma pagina em silverlight e nessa pagina conforme o login dele faz download de outras dlls que sao carregadas no mesmo e fuciona normalmente (ta ... algumas coisas eu tive q apelar para o uso de java applets - impressao matricial, gravaçao de cd, leitor biometrico -  mas ta funcionando numa boa u.U)
    What would Brian Boitano do ?
    Tuesday, August 25, 2009 8:43 PM
  • blz Edson, qualquer coisa estamos por ai para ajudar o pessoal da comu.

    abraços
    Emerson
    Wednesday, August 26, 2009 2:07 PM
  • Olá Rui Santos, voce concluiu ou ainda vai concluir o ERP em silverlight, deu certo ? tenho interesse, preciso conversar com voce
    Wednesday, May 23, 2012 12:42 AM