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!
2001 - iMasters FFPA Informática Ltda - Todos os direitos reservados.