sábado, 22 de janeiro de 2011

Datavision Framework

Desde que comecei a trabalhar com Silverlight, tive muitas dúvidas sobre qual framework MVVM utilizar. Fiz muitos testes com MVVM Light Toolkit, Caliburn, Prism e outros.
Recentemente, conheci o Jounce do Jeremy Likness, e achei fantástico um framework que é ativado na forma d um serviço de aplicação no Silverlight.

Em termos de aprendizado e experiência, achei melhor criar meu próprio framework e batizei-o temporariamente de Datavision. Ele se baseia fortemente no Jounce e no Caliburn, reunindo uma série de classes encontradas na internet, que personalizei e adaptei para funcionarem totalmente em harmonia.

Criei um conceito que encapsula um Shell raiz da aplicação, que pode possuir mais 3 tipos de "SubShells", que chamo de Gerenciador de Tela (ScreenManager). Esses gerenciadores de telas são responsáveis pelas trocas e transições entre as telas da aplicação. É muito simples criar telas e disponibilzá-las para a aplicação, em um menu ou botão de comando.



O Datavision Framework é dependente do MEF - Managed Extensibility Framework, que acompanha o .NET Framework 4. As telas e ViewModels são localizadas pelo MEF e instanaciadas na aplicação "on demand".

Estou desenvolvendo atualmente 3 aplicações comerciais que utilizam meu próprio framework.

Em breve postarei o código fonte como Open Source e criarei alguns artigos como "guia" para que cada um crie seu próprio framework ou contribua com melhorias.

Nenhum comentário:

Postar um comentário