BT
x Por favor preencha a pesquisa do InfoQ !

WPF vs. Silverlight – Qual é a real diferença?

por Jonathan Allen , traduzido por Carlos Mendonça em 17 Nov 2009 |

Conforme a importância tanto do WPF quanto do Silverlight cresce entre os desenvolvedores .NET, a confusão sobre a diferença entre ambos também aumenta. Em julho, a Wintellect lançou um whitepaper pouco conhecido mas incrivelmente importante sobre este tópico e que era intitulado Whitepaper sobre Comparação entre o Microsoft WPF e Silverlight. Recomendamos que desenvolvedores de interfaces gráficos com o usuário leiam as 69 páginas, mas oferecemos um resumo das principais que impactam o negócio destes desenvolvedores.

Propriedades de dependência são componentes-chave para ambas as plataformas, com o PropertyMetadata sendo usado para propriedades de plano de fundo ao invés de campos normais. Enquanto o Silverlight oferece apenas uma classe, o WPF possui alguns sub-tipos.

  • UIPropertyMetadata adiciona uma flag que determina "se animações devem ser desabilitadas na propriedade de dependência onde a instância do metadado contido é aplicado."
  • FrameworkPropertyMetadata adiciona uma flag para indicar que a propriedade afeta o pipeline, incluindo o posicionamento, medição e renderização do controle. Também pode indicar se o data-binding é permitido na propriedade e qual é seu tipo padrão. Uma vez que o Silverlight não suporta esta classe, todas as ligações de dados são, por padrão, de mão-única.

O Silverlight não suporta o tunelamento de eventos. Ambas as plataformas suportam eventos diretos e "bubbling".

O WPF suporta vários tipos de triggers. Um trigger básico é anexado a uma propriedade de dependência e aplica automaticamente mudanças de estilo quando sua condição é atendida. Além de triggers básicos, o WPF também suporta trigger que respondem a eventos roteados e triggers que funcionam com data-binding. Ao invés de triggers, o Silverlight utiliza uma tecnologia chamada Visual State Manager em seu lugar. O WPF não oferece isso no momento, mas oferecerá na versão 4.0.

O Silverlight suporta apenas algumas extensões de markup. Além das extensões StaticResource compartilhado, Binding e TemplateBinding, o WPF adiciona o DynamicResource, RelativeSource, x:Type, x:Static, and x:Array.

Há inúmeros eventos para teclado e mouse disponíveis apenas no WPF. Como há eventos demais para listar aqui, nós deixamos a listagem para o texto completo do whitepaper.

A classe UIElement e a interface IinputElement. Quando o controle está desabilitado, o WPF utiliza isso para desabilitar todos os controles filhos. O Silverlight não oferece este comportamento, então os desenvolvedores devem conversar com a árvore de controles manualmente.

No lado da comunicação, o WCF no Silverlight está limitado ao BasicHttpBinding e PollingDuplexHttpBinding. O WPF, evidentemente, suporta todas as bindings disponíveis.

Por fim, a funcionalidade de impressão é completamente diferente no WPF em relação ao Silverlight. O WPF permite impressão direta de árvores visuais enquanto o Silverlight se aproveita dos recursos do browser.

Avalie esse artigo

Relevância
Estilo/Redação

Olá visitante

Você precisa cadastrar-se no InfoQ Brasil ou para enviar comentários. Há muitas vantagens em se cadastrar.

Obtenha o máximo da experiência do InfoQ Brasil.

Dê sua opinião

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão
Comentários da comunidade

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão

Dê sua opinião
Feedback geral
Bugs
Publicidade
Editorial
Marketing
InfoQ Brasil e todo o seu conteúdo: todos os direitos reservados. © 2006-2016 C4Media Inc.
Política de privacidade
BT

Percebemos que você está utilizando um bloqueador de propagandas

Nós entendemos porquê utilizar um bloqueador de propagandas. No entanto, nós precisamos da sua ajuda para manter o InfoQ gratuito. O InfoQ não compartilhará seus dados com nenhum terceiro sem que você autorize. Procuramos trabalhar com anúncios de empresas e produtos que sejam relevantes para nossos leitores. Por favor, considere adicionar o InfoQ como uma exceção no seu bloqueador de propagandas.