Hoje eu fui no Tech-Ed, evento da Microsoft onde são apresentadas palestras com novidades e dicas do mundo Microsoft.Uma palestra que me fez soltar aquele “oooohhhh!!” frente a uma inovação tecnológica foi a do WPF (Windows Presentation Foundation).
Em 1979 (eu ainda nem era nascido), Trygve Reenskaug propôs o conceito de MVC (model-view-controller) para o projeto do Smalltalk (influenciador do Java), nos já míticos laboratórios da Xerox, em Palo Alto (lá foram inventados a Ethernet, a impressora à laser, o mouse e a interface gráfica – hoje conhecida popularmente como Windows, apenas para citar alguns). O conceito é bem simples: separar a apresentação (view) da camada de negócio/dados (model), utilizando para isso uma “ponte” (controller).
Ainda hoje é um parto fazer um site web cuja apresentação está desacoplada do conteúdo, sendo que é 100% viável implementar dessa forma utilizando CSS com HTML ou CSS com XML e XSLT ou DHTML… imagina isso então em uma aplicação desktop!
O WPF coloca o MVC em prática (sem citar essa sigla, como é natural em produtos MS), incluindo inúmeras facilidades (que só funcionam no Windows, como é natural em produtos MS), mas o grande pulo está na possibilidade do mesmo código rodar tanto no desktop quanto na web.
O processo é bem simples:
- através do Microsoft Expression Blend (uma mistura de Corel Draw, Adobe Ilustrator, Macromedia Flash e Microsoft Visual Studio .NET) um designer desenha ricamente a interface gráfica (que gera um arquivo XAML) – view
- no Visual Studio o desenvolvedor cria toda a lógica de negócio, manipulação de dados, tratamento de eventos, etc. (que gera um arquivo .cs, no caso do C#) – model
- o Framework .Net (utilizando o WPF) se encarrega juntar o XAML com o código – controller
Dessa forma, a mesma aplicação pode ser acessada tanto pelo browser, na Internet, como localmente no computador, pelo Windows, de acordo com a forma como foi compilado. Para alterar o layout, basta alterar o arquivo XAML (manualmente ou de forma transparente pelo Expression Blend) e pronto!
Pela mais pura coincidência, hoje li sobre o Google Analytics AIR, que é o já famoso Google Analytics, no desktop. Para isso, ele usa o Adobe AIR, que segundo o site:
Adobe® AIR™ is a cross-operating system runtime that allows web application developers to use their existing web development skills (HTML, Javascript, Adobe Flash®, Adobe Flex™, Ajax) to build and deploy rich Internet applications to the desktop.
Muito parecido com a definição do WPF no site:
Windows Presentation Foundation (WPF) provides developers with a unified programming model for building rich Windows smart client user experiences that incorporate UI, media, and documents.
Resumindo, Windows Presentation Foundation e Adobe AIR são quase o mesmo produto, desenvolvidos por empresas diferentes.
A Microsoft criou o Silverlight para competir com o Flash (agora Adobe Flash) e pelo visto a briga não parou por alí…
e vai continuar, com certeza…
http://vale1clique.wordpress.com/