De que se trata o artigo

O artigo trata do desenvolvimento de aplicações para Windows Phone utilizando padrões de projeto em camadas. Será focado na utilização do MVC.

Em que situação o tema é útil

É útil em situações que você precisa desenvolver uma aplicação sem ficar preso ao código fonte de uma tecnologia especifica. Sabemos que hoje uma tecnologia pode mudar e alterar totalmente seus métodos. Se analisarmos todas as regras de negócio e persistência de dados de forma separada, utilizando uma linguagem de programação simples, com o mínimo de componentes, podemos manter nossa aplicação sempre em um IDE de ponta, alterando somente a camada de visão e adaptando a camada de controle, pois modelo e negócio continuam sempre a mesmo.

Resumo Devman

Aplicativo em camadas para Windows Phone: Desenvolvimento ágil e a diminuição do retrabalho é o que se ouve atualmente em TI. As plataformas de desenvolvimento mudam constantemente tentando se adequar às novas tecnologias do mercado. Manter uma aplicação sempre atualizada tecnologicamente é um diferencial no mercado, para isso separamos as regras do negócio, o repositório de dados e o modelo da view. Será desenvolvida uma aplicação para Windows Phone 7 com essa ideologia, discutindo pontos de uma possível migração de uma aplicação desenvolvida em Windows Mobile 6.5.

Desenvolver aplicativos para Windows Mobile 6.X no Visual Studio 2005/2008 é bem diferente do proposto atualmente no Visual Studio 2010 para Windows Phone 7. A antiga tecnologia trabalhava interface gráfica da aplicação com formulários, em uma versão com menos recursos se comparado ao desenvolvimento desktop. Sua opção de conexão com banco de dados, era o Compact SQL Server, através de Data Set ou conexão direta via biblioteca SqlServerCe.

No Windows Phone 7 a Microsoft abandonou os formulários Windows Form e agregou interfaces Silverlight como padrão para o desenvolvimento de aplicativos e, o framework XNA para o desenvolvimento de jogos. Abandonou totalmente o Data Set para mobile (que tinha uma performance muito baixa). Além disso, adotou a conexão direta e a utilização da biblioteca LINQ.

Nota

Diferente do Windows mobile 6.5, a Microsoft investiu em uma interface de usuário mais limpa e moderna. Além disso, focou na padronização de hardware e software. O design denominado Metro é inspirado na linguagem visual de aeroportos e do sistema de metrô. Vale ressaltar que esse padrão de User Interface (UI) deve ser utilizado caso você queira publicar seus aplicativos no Market Place.

Outra diferença peculiar, é que no WM 6.5 os aplicativos poderiam ser desenvolvidos em C nativo e .NET, agora só será utilizado .NET (C#). Para os amantes de games, o WP 7 possui integração com Xbox Live, permitindo que os usuários utilizem seu Xbox live ID.

Diante dessa situação, muitos desenvolvedores tiveram suas aplicações dispensadas por falta de aparelhos que as suportassem. Desta forma, tinham a necessidade de desenvolver as mesmas sob uma nova arquitetura.

Para que possamos nos adaptar a essas mudanças drásticas, devemos rever nosso conceito de desenvolvimento e planejamento futuro, principalmente no que diz respeito ao reaproveitamento de código.

O que podemos perceber, é que a Microsoft tem buscado cada vez mais uma solução mais ágil naquilo que diz respeito à interface ao cliente, algo mais rápido e simples e, que possa competir, de igual para igual com a concorrência. Por ter escolhido a tecnologia do Silverlight para a criação de interfaces gráficas, ganhou um desenvolvimento mais dinâmico e versátil, dando liberdade à criatividade do desenvolvedor. Em compensação, manteve o uso de class library para o acesso da aplicação. Na prática, quando compilamos a aplicação desenvolvida para Windows Phone, o mesmo gera uma *.*DLL com o nome do projeto principal e outro arquivo do tipo *.*xap que contém o projeto em Silverlight.

Arquiteturas de desenvolvimento de soluções

Após compreender a linha de mudança utilizada, percebemos a necessidade de procurar alguma forma de desenvolver aplicações seguindo algum tipo de padrão, assim, o uso de camadas é uma excelente escolha. Mas antes é preciso entender como funciona a mesma e, assim, entender a real necessidade (e suas vantagens).

Vamos analisar os padrões de desenvolvimento mais utilizados nos dias de hoje. O Silverlight por padrão, trabalha com a metodologia MVVM (Model – View - ViewModel), derivado do MVC (Model View Controller) e do MVP (Model – View – presenter).

O padrão MVC nos fornece uma forma de dividir as funcionalidades de uma aplicação, onde o Modelo consiste nos objetos de dados da aplicação, as regras de negócio e a persistência no banco de dados. A Visão consiste na camada de interação com o usuário. E o controle consiste na camada de comunicação entre a Visão e o Modelo. Este padrão vem sendo adotado pela Microsoft no desenvolvimento de aplicações Web com ASP.NET e, permite maior segurança, tanto ao usuário final quanto ao desenvolvedor, pois todas as regras da aplicação serão realizadas no servidor de dados e, o usuário final, tem acesso somente a uma página simples que praticamente não possui nenhuma iteração com as outras camadas. A Figura 1 demonstra a interação entre as camadas da metodologia.

...

Quer ler esse conteúdo completo? Tenha acesso completo