Quarta-feira, 23 de maio de 2007 às 10h00

Arquitetura do Windows Presentation Foundation (WPF) - Parte 01

Faltam 3 dias! Inscreva-se agora! O maior encontro de profissionais web da américa latina.

Neste artigo irei abordar a arquitetura do Windows Presentation Foundation/Framework. Este novo Framework é responsável por interfaces gráficas, apresentações, animações, sons e gráficos, e faz parte do conjuto de novos frameworks que recebeu o nome de .NET Framework 3.0. A proposta da Microsoft é que o .NET Framework 3.0 seja integrado ao Windows Vista, e com isso, a execução deste Framework será bem mais rápida do que no Windows XP, onde o usuário poderá realizar o download deste Framework pela internet, pelo site da Microsoft, e instalá-lo em seu computador.

O motivo para que este novo Framework seja mais rápido no Windows Vista é que ele foi desenvolvido enquanto o Kernel do Windows Vista também era desenvolvido, então a equipe de desenvolvimento do .NET Framework 3.0 e a equipe do Kernel do Windows Vista fizeram com que estes dois componentes, .NET Framework 3.0 e o Kernel, conversassem de uma forma mais integrada.

O modelo de programação do Windows Presentation Foundation (WPF) é código gerenciável, este gerenciamento é feito pela Common Language Runtime (CLR). A CLR permite várias funcionalidades permitindo que o desenvolvimento possa ser mais produtivo como gerenciamento de memória e tratamento de erros, porém isto ocasiona um alto custo.

Na figura a seguir vemos os principais componentes do WPF.

As camadas em azul são os principais componentes do WPF. Nestas 3 camadas apenas o milcore não possui código gerenciável. Existem 2 razões para que a camada milcore não seja gerenciada:

1. Esta camada necessita de uma integração muito forte com o DirectX, pois tudo o que é mostrado no WPF é produzido pela engine do DirectX, isso permite que a renderização por software e hardware seja com alta performance e muito eficiente.

2. Existe uma necessidade de um controle mais poderoso sobre a memória e a execução. O engine presente na camada milcore é extremamente eficiente e com alta performance, por causa disto precisamos abrir mão de vários recursos que a CLR fornece para que se tenha uma boa performance.

Vários objetos no WPF são derivados do objeto DispatcherObject. Este objeto disponibiliza funcionalidades que permitem lidar com concorrência e threads. O WPF é baseado em um sistema de mensagens. Este sistema é bem parecido com o sistema usado pela Microsoft no Win32.

Neste artigo mostrei algumas camadas presentes na arquitetura do Windows Presentation Foundatio/Framework (WPF). Também foi mostrado que o DirectX é muito utilizado pelas camadas do WPF de uma forma integrada a sua arquitetura, com isso, temos uma engine gerando componentes e interfaces gráficas de uma forma mais eficiente.

Nos próximos artigos irei continuar a desbravar a arquitetura desta mais nova camada especializada em apresentações gráficas em geral.

Grande Abraço!

Nenhum comentário até agora

Cancelar resposta

Qual a sua opinião?

Faça login abaixo ou cadastre-se rapidamente.


Sobre o Autor
Marcelo Diniz é bacharel em ciência da computação pela Universidade Católica de Pernambuco (UNICAP), aluno de especialização em engenharia de software na Universidade de Pernambuco (UPE), engenheiro de software pela empresa Inove Informática em Recife, Microsoft Certified Professional (MCP) em .NET 1.1 e .NET 2.0 e Microsoft Student Partner (MSP) da Microsoft Brasil.

2001 - iMasters FFPA Informática Ltda - Todos os direitos reservados.