De que se trata o artigo

O artigo apresentará um overview sobre alguns dos principais recursos da mais recente plataforma mobile da Microsoft, o Windows Phone 7, além de uma introdução à plataforma, arquitetura e ciclo de vida de um aplicativo.

Para que serve

A Microsoft está apostando em sua plataforma mobile, anunciando parcerias com a Nokia, realizando atualizações importantes no sistema operacional e incentivando os desenvolvedores a criar aplicativos para o Windows Phone Marketplace. Se você deseja trabalhar com dispositivos móveis com a plataforma Microsoft, o Windows Phone 7 é o caminho.

Em que situação o tema é útil

Um sistema operacional é algo complexo e com inúmeros recursos, com o Windows Phone 7 não é diferente. Conhecer as principais funcionalidades que estão à disposição do desenvolvedor pode ajudar a criar aplicativos mais ricos, funcionais e integrados ao sistema operacional.

WP7 - Overview

O Windows Phone 7 chegou trazendo uma nova plataforma de desenvolvimento para dispositivos móveis. A Microsoft utilizou o que existe de mais moderno para criar o seu sistema operacional, buscando ser mais competitivo com as plataformas mais antigas e líderes de mercado. Com a ajuda do Silverlight, XNA, ferramentas como Visual Studio, Expression Blend e contando com todo o poder da plataforma .Net, o Windows Phone 7 traz uma série de recursos para o desenvolvedor criar os mais variados tipos de aplicações e games. Este artigo traz uma introdução a alguns recursos que a plataforma oferece.

O novo sistema operacional da Microsoft para a plataforma mobile, Windows Phone 7, foi um dos destaques do evento MIX 11 realizado pela Microsoft em Las Vegas nos dias 12,13 e 14 de abril, uma série de novidades foram apresentadas, a maioria relacionada à nova atualização chamada de Mango.

A atualização Mango foi apresentada no MIX 11 com foco nos desenvolvedores, e não foram poucos os novos recursos e melhorias, mas alguns recursos chamaram a atenção como possibilidade de multitarefa, que envolve uma série de questões que vão desde o benefício do recurso aos usuários finais até o consumo da bateria do smartphone.

Outra grande novidade desta atualização é o Silverlight, o Windows Phone 7 tem como base a versão 3 do Silverlight, mas o plug-in já está na versão 5 em fase beta, lançado recentemente. Na atualização Mango o plug-in para Windows Phone terá como base o Silverlight 4, e uma série de melhorias foram feitas na versão para Windows Phone, incluindo novos recursos e removendo recursos incompatíveis.

Os celulares ou smartphones com Windows Phone 7 ainda não chegaram ao Brasil, e ainda não temos uma previsão oficial a respeito de quando teremos o sistema operacional nas lojas para comprar, porém é possível criar e testar todo o aplicativo utilizando o emulador que vem com o Expression Blend 4 for Windows Phone ou com o Visual Studio 2010. As ferramentas de desenvolvimento para o Windows Phone 7 também sofreram melhorias. No MIX 11 foi anunciado que essas ferramentas em breve serão disponibilizadas, inclusive o emulador ganhou recursos para simular o acelerômetro e GPS, entre outros recursos. Mas as novidades da atualização Mango merecem um artigo à parte, até a escrita deste artigo ela ainda não estava disponível, porém com tantas novidades ela está sendo muito aguardada, não somente pelos desenvolvedores como também pelos usuários do Windows Phone 7, que poderão usufruir de todas essas novidades.

Outra novidade também é o lançamento da certificação Microsoft para o Windows Phone 7, agora os profissionais que já estão criando suas aplicações para o sistema operacional da Microsoft, poderão se certificar realizando a prova 70-599. Até o momento a prova está em fase Beta, mas o conteúdo de estudo já foi divulgado e nos próximos meses acredito que a prova oficial já esteja disponível.

O Windows Phone Marketplace também está em constante crescimento, ele tem ainda poucos meses de lançamento, mas com um número de aplicativos sendo adicionados periodicamente, ainda tem um número pequeno de aplicativos se comparado aos líderes atuais do mercado como o Android e o iPhone. Mas o número de desenvolvedores e aplicativos pode aumentar significativamente com a próxima atualização Mango, é previsto que o Marketplace esteja disponível para que os usuários possam comprar aplicativos em um total de 35 países, inclusive o Brasil e com suporte a 16 novos idiomas, contando com o Português do Brasil. Ainda se levarmos em consideração a recente parceria com a Nokia, umas das mais importantes empresas do setor, o Windows Phone 7 é um forte candidato a ser competitivo com os concorrentes.

Motivos não faltam para você iniciar com o desenvolvimento no mais recente sistema operacional da Microsoft. A compra do Skype pela Microsoft vai trazer esse aguardado software para a sua plataforma e possivelmente os desenvolvedores poderão aproveitar-se disso. A navegação de páginas com a atualização mango será com uma versão do browser Internet Explorer 9, trazendo suporte ao HTML5, ainda teremos o SQL CE, a versão para dispositivos móveis do consagrado banco de dados da Microsoft. Mesmo existindo meios de manipular dados no dispositivo, o SQL CE vai disponibilizar um novo recurso para a criação de aplicativos aos desenvolvedores.

Se você ainda não começou a criar aplicativos para o Windows Phone 7, mas já está trabalhando com a plataforma .net, vai conseguir aproveitar boa parte de seus conhecimentos e ter uma curva de aprendizado menor, e se você já programa em WPF ou Silverlight, você vai se sentir em casa com o Windows Phone 7.

O WP7 é totalmente diferente dos outros sistemas operacionais da Microsoft para a plataforma mobile, com ele é possível criar aplicativos de negócios utilizando todo o poder da tecnologia Silverlight ou criar jogos modernos com o framework XNA. O XNA é um framework completo e maduro para a criação de jogos tanto para PCs com Windows, como para o XBOX 360 e o Windows Phone 7. O Silverlight é voltado para a criação de aplicações RIA, ou seja, aplicativos ricos para a internet. Podemos também criar aplicativos que rodam fora do browser, ou seja, instalado no computador e com a chegada do Windows Phone 7 temos agora a possibilidade de criar aplicativos mobile, utilizando a mesma tecnologia.

Neste artigo veremos um overview de recursos atualmente disponíveis para o desenvolvedor criar aplicativos para o Windows Phone 7. Boa parte deles está incluída nos tópicos oficiais a serem estudados para a certificação, porém em um único artigo não é possível cobrir todos os recursos e nem aprofundar nos detalhes, mas com certeza conhecer os principais poderá fazer uma grande diferença na hora de criar aplicativos.

Nota do DevMan

O Expression Blend é uma ferramenta da Microsoft cujo objetivo principal é auxiliar no desenvolvimento de designs em Silverlight, WPF e WP7, nela você pode criar interfaces aprimoradas para suas aplicações. O Expression Blend é totalmente integrado ao Visual Studio e está disponível para download de avaliação no site da Microsoft.

Um dos pontos fundamentais que o desenvolvedor de aplicativos mobile para o Windows Phone 7 deve conhecer é a estrutura das aplicações e o ciclo de vida (life cycle). Este último define inclusive como será o comportamento da aplicação quando uma determinada ação ocorrer durante sua execução.

No topo da arquitetura de navegação do WP7 está um container principal chamado de PhoneApplicationFrame, este container recebe as páginas do Windows Phone 7 chamadas de PhoneApplicationPage, além do System Tray e do Application Bar. O System Tray do Windows Phone 7 é uma área onde é apresentada a hora atual, o nível de energia da bateria e o nível do sinal do celular, esta área pode ser removida da aplicação se o designer desejar aproveitar o máximo da tela. Já o Application Bar é uma barra onde é possível inserir menus e botões personalizados que podem ser utilizados pela aplicação.

O Silverlight disponibiliza o PhoneApplicationFrame e o PhoneApplicationPage para auxiliar na separação e gerenciamento de conteúdos, o conteúdo da aplicação será inserido em uma página (PhoneApplicationPage), já o Frame principal, o PhoneApplicationFrame, tem o papel de um container de páginas, e tem recursos que auxiliam na navegação entre elas, você poderá criar diversas páginas e navegar entre elas através de um Frame. Dessa forma toda aplicação para o Windows Phone 7 está inserida nessa arquitetura.

Os equipamentos que utilizam o sistema operacional da Microsoft também possuem certo padrão, um dos requisitos é a utilização de três botões que o sistema operacional utiliza para algumas tarefas, esse três botões são o Back, Start e Search. O Botão Back tem a função de voltar quando utilizado dentro de um navegador, na home ele finaliza o programa, mas os softwares desenvolvidos podem utilizar esse botão para outra finalidade, pois ele é acessível e pode ser sobrescrito para ser manipulado. No equipamento ele geralmente fica localizado no lado esquerdo e tem um ícone de setinha para esquerda. O Botão Start tem o desenho do símbolo do Windows, leva o usuário à tela inicial do sistema e não é acessível aos softwares criados pelo desenvolvedor. O Botão Search é o botão utilizado pelo sistema operacional para pesquisas, ele inicia uma página com o buscador da Microsoft, o Bing, ou por exemplo, no Windows Phone Marketplace, ele apresenta a busca de aplicativos.

O ciclo de vida da aplicação também é um tópico muito importante que o desenvolvedor deve conhecer ao criar um aplicativo. O ciclo de vida ou Life Cycle, resumidamente serve para acompanhar e manipular como a aplicação reage conforme as diversas ações que são acionadas pelo usuário ou não, permitindo que o desenvolvedor tenha acesso a eventos que habilitam a manipulação de informações e possam manter o estado da aplicação. Entender o ciclo de vida é fundamental para manter o estado de aplicações que manipulam e apresentam dados em interfaces visuais no Windows Phone 7, entendendo isso podemos saber qual o melhor modo de registrar os dados e manter o estado da aplicação.

A renderização gráfica no Silverlight para Windows Phone 7 foi otimizada para oferecer um melhor desempenho junto aos equipamentos, utilizando de aceleração da GPU de forma automática em diversas tarefas. Resumidamente, a parte visual da aplicação é apresentada na tela do Windows Phone 7 de duas formas, renderizando através da UI Thread e da Composition Thread. A UI Thread é onde são apresentados visualmente os controles, layouts, loop de jogos, etc., ela é a principal Thread e é responsável pela experiência do usuário quanto à performance da aplicação ou jogo. Como ela é a renderização principal do Windows Phone, ela consome uma grande porcentagem da CPU, algumas tarefas se não forem executadas de forma correta podem apresentar falhas na renderização ou até bloquear a UI Thread por um período. Para evitar um impacto extra na UI Thread podemos utilizar a Composition Thread, que utiliza a aceleração da GPU, utilizando por exemplo, de simples animações com algumas propriedades específicas, como por exemplo o DoubleAnimation, onde a renderização ocorre em uma Thread diferente, não afetando a performance da UI Thread.

A Composition Thread é leve e sincronizada com a UI Thread, o desenvolvedor não tem acesso à Composition Thread diretamente, é acessada internamente pelo sistema operacional quando uma determinada animação ocorre com os elementos em cache. Essas informações são somente para entender um pouco como o Windows Phone 7 apresenta a interface visual na tela, e que você poderá utilizar alguns recursos para melhorar a performance, principalmente se imagens fazem parte de uma animação. Uma classe é utilizada pelo Silverlight para a criação de animações, ela é chamada de Storyboard, ela automaticamente utiliza da Composition Thread.

A Navegação de páginas do seu aplicativo no Windows Phone 7 pode ser feita através da classe System.Windows.Navigation.NavigationService, nela temos diversos métodos e propriedades auxiliares para a navegação. O seu principal método é o Navigate, com ele podemos informar uma url como parâmetro e o sistema fará a navegação para a página informada na url. A classe NavigationService contém diversos métodos, propriedades e eventos aos quais iremos dar uma olhada durante o artigo.

Existem alguns recursos do sistema operacional que a Microsoft disponibilizou em um conjunto de APIs para simplificar e auxiliar o desenvolvedor a realizar diversas tarefas, essas APIS estão divididas em dois grupos: Launchers e Choosers. Com esse conjunto de APIs podemos enviar um e-mail, realizar uma chamada pelo telefone, entre outras tarefas, inclusive podendo interagir com o HUB Pictures e o HUB Music + Vídeos do sistema operacional.

...
Quer ler esse conteúdo completo? Tenha acesso completo