Desenvolvendo para
Windows 8
Aprenda a desenvolver aplicativos para Windows Phone 8 e Windows 8
Ricardo R. Lecheta
Novatec
Copyright © 2013 da Novatec Editora Ltda. Todos os direitos reservados e protegidos pela Lei 9.610 de 19/02/1998. É proibida a reprodução desta obra, mesmo parcial, por qualquer processo, sem prévia autorização, por escrito, do autor e da Editora. Editor: Rubens Prates Revisão gramatical: Marta Almeida de Sá Editoração eletrônica: Carolina Kuwabata Capa: Aline Baggio e Carolina Kuwabata ISBN: 978-85-7522-362-8 Histórico de impressões: Julho/2013
Primeira edição
Novatec Editora Ltda. Rua Luís Antônio dos Santos 110 02460-000 – São Paulo, SP – Brasil Tel.: +55 11 2959-6529 Fax: +55 11 2950-8869 E-mail: novatec@novatec.com.br Site: novatec.com.br Twitter: twitter.com/novateceditora Facebook: facebook.com/novatec LinkedIn: linkedin.com/in/novatec MP20130702
capítulo 1
Introdução
1.1 Introdução Este livro vai abordar a nova plataforma de desenvolvimento móvel da Microsoft, o Windows Phone, que é encontrado nos smartphones, e também o Windows 8, encontrado nos computadores e tablets com Windows RT. Faz tempo que a Microsoft encanta os seus usuários com sistemas operacionais móveis, e os mais antigos com certeza vão se lembrar do Pocket PC que executava o sistema operacional Windows CE. As primeiras versões do Windows CE foram lançadas em 1994, mas ele começou a fazer sucesso em 2000 com o lançamento do Pocket PC, que era o grande smartphone da época, juntamente com o Palm, que executava o Palm OS. O Windows CE foi evoluindo e a partir de 2003 passou a ser chamado de Windows Mobile, por uma estratégia de marketing da Microsoft. O Windows Mobile ficou no mercado por muito tempo e recentemente ele ganhou um sucessor, em 2010, quando finalmente nasceu o Windows Phone, chamado de Windows Phone 7. Com o Windows Phone, a Microsoft entrou pesado na briga para aumentar a sua participação no mercado móvel, e o melhor de tudo é que ela não está sozinha, pois ao seu lado está nada mais nada menos do que a Nokia, além de algumas parceiras como HTC e Samsung. Mas principalmente a Nokia está investindo pesado no Windows Phone e migrou toda a sua linha de smartphones para esta nova plataforma. Essa parceria começou a render frutos logo, e rapidamente foi lançado, em 2001, o Windows Phone 7.5, denominado Mango. Quem sai ganhando com essas parcerias, com certeza, são os usuários, e nós, os desenvolvedores. A interface do Windows Phone é muito simples e totalmente baseada em rolagens horizontal, chamadas de panoramas. Muitos conceitos encontrados no sistema 21
22
Desenvolvendo para Windows 8
operacional são novidades, como, por exemplo, os tiles, que enriquecem e dão vida à tela inicial do Windows Phone. Com o atual aquecimento do mercado e a facilidade de publicar aplicativos na Windows Phone Store, a plataforma da Microsoft é atualmente uma das melhores e vem ganhando a cada dia mais usuários e espaço no mercado. O ambiente de desenvolvimento também é muito simples e produtivo, conforme vamos estudar neste livro. Nesta obra, como sempre, você não vai encontrar comparações entre esse sistema operacional e seus concorrentes, isso eu deixo para você. Durante a leitura, vamos aprender a desenvolver aplicativos para Windows Phone 8, que é a versão mais atual do sistema operacional, embora todos os conceitos possam ser aplicados para manter seu projeto compatível com o Windows Phone 7. Também vamos aprender a criar telas com vários componentes visuais e utilizar diversos recursos como consulta à web services, mapas, gps, multimídia, tiles e muito mais. Mas o livro não para por aqui, pois ainda temos o Windows 8, que é o novo sistema operacional para computadores da Microsoft. Também podemos criar aplicativos para ele com o mesmo ambiente de desenvolvimento, que é o Visual Studio. Portanto esta é uma excelente oportunidade para desenvolvedores, pois, além de alcançar o mobile com o Windows Phone, é possível atingir também os computadores desktop, e sabemos que o Windows vai estar presente em milhões de computadores ao redor do mundo. E não paramos por aí, pois a Microsoft também aperfeiçoou o Windows 8 para dispositivos móveis como tablets e chamou essa versão de Windows RT. E o melhor de tudo é que a mesma versão do projeto criado para o sistema operacional Windows 8 para desktop é compatível com os tablets. Neste livro, vamos aprender tudo isso desde o básico até o avançado, onde vamos estudar as boas práticas do desenvolvimento de aplicativos para Windows Phone 8 e Windows 8. Um dos primeiros temas que precisaremos estudar é a linguagem C#.
1.2 A linguagem C# A linguagem C# foi criada pela Microsoft e é a principal linguagem de programação da plataforma .NET. A linguagem é totalmente orientada a objetos, possui uma sintaxe bem simples e baseada nas linguagens C++, Pascal e Java. No capítulo 2, vamos estudar a história dessa linguagem e aprender sua sintaxe utilizando muitos exemplos de código, desde como declarar variáveis, imprimir mensagens de logs, criar classes e objetos, atributos, métodos, interfaces, herança até as suas principais características.
Capítulo 1 ■ Introdução
23
1.3 Requisitos de hardware para o Windows Phone SDK Antes de começarmos a brincadeira é importante avisar que o Windows Phone SDK possui os seguintes requisitos de hardware e software: • sistema operacional Windows 8; • processador de 64-bits; • 6,5 GB de disco livre para a instalação; • 4 GB ou mais de memória RAM; • o processador precisa suportar virtualização, com Second Level Address Translation (SLAT). O simulador do Windows Phone utiliza o Hyper-V, que é o software de virtualização da Microsoft. No seu computador com Windows 8, inclusive, você poderá encontrar o software Hyper-V Manager ou Gerenciador do Hyper-V para controlar esses recursos. Essa virtualização é utilizada para que a máquina virtual do simulador acesse os recursos do computador, como memória e disco, o que melhora bastante o desempenho do simulador. Aliás, o desempenho do simulador do Windows Phone é ótimo. Como o Hyper-V é um software de virtualização, o processador do computador precisa suportar a tecnologia Second Level Address Translation (SLAT) de virtualização, que está presente nos computadores mais novos. Caso o processador não suporte a virtualização, não será possível executar o simulador, e o projeto poderá ser executado somente em um smartphone real. Essas restrições são para o simulador do Windows Phone. Note que para o Windows 8 não temos nenhum problema, pois você poderá executar os projetos diretamente no seu computador.
1.4 Visual Studio para Windows Phone O Visual Studio é o ambiente de desenvolvimento padrão utilizado pela Microsoft em que os desenvolvedores podem criar projetos utilizando a plataforma .Net com todas as tecnologias da Microsoft. Para desenvolver para o Windows Phone, vamos utilizar o Microsoft Visual Studio Express 2012 para Windows Phone, que é a versão gratuita do Visual Studio e específica para o Windows Phone. Essa versão do Visual Studio faz parte do Windows Phone 8 SDK, que é o ambiente de desenvolvimento completo para Windows Phone 8, contendo todas as ferramentas necessárias, inclusive o simulador.
24
Desenvolvendo para Windows 8
O SDK e toda a documentação podem ser encontrados no portal Windows Phone Developer Center, que pode ser visualizado na figura 1.1. Faça o download do Windows Phone SDK na página https://dev.windowsphone.com. Nessa página, clique no link GET SDK para fazer o download. Observe que também temos o link SUBMIT APP, que é um atalho para enviar um aplicativo para a Windows Phone Store. No menu superior, o link Dashboard vai abrir o seu portal do desenvolvedor, para você gerenciar seus aplicativos publicados na loja. O termo Dashboard é conhecido também como painel de aplicativos. No capítulo 22 veremos mais detalhes de como publicar os aplicativos.
Figura 1.1 – Portal para desenvolvedores do Windows Phone.
1.5 Visual Studio para Windows 8 Uma versão específica do Visual Studio é utilizada para criar aplicativos para Windows 8. As aplicações para Windows 8 são chamadas de Windows Store Apps, e para criálas é utilizado o Microsoft Visual Studio Express 2012 for Windows 8.
Capítulo 1 ■ Introdução
25
Essa versão do Visual Studio faz parte do Windows 8 SDK, que é o ambiente de desenvolvimento completo para Windows 8, contendo todas as ferramentas necessárias e inclusive o simulador do tablet. O SDK e toda a documentação podem ser encontrados no portal Windows Developer Center, que pode ser visualizado na figura 1.2. http://msdn.microsoft.com/windows/apps/ http://msdn.microsoft.com/pt-BR/windows/apps/
Figura 1.2 – Portal para desenvolvedores do Windows 8.
Nesta página, clique no menu Downloads para abrir a página de download conforme a figura 1.3. Feito isso, você vai encontrar o link de download das ferramentas e o SDK para Windows 8, que contém o Microsoft Visual Studio Express 2012 for Windows 8. As aplicações para Windows 8 são chamadas de Windows Store Apps. Observe &&
que no portal de desenvolvedor também existe o link Dashboard no menu superior. Esse link vai abrir o seu painel para gerenciar e publicar os aplicativos na Windows Store.
26
Desenvolvendo para Windows 8
Figura 1.3 – Portal para desenvolvedores do Windows 8.
Depois de instalar o Windows Phone SDK e o Windows 8 SDK no seu computador, basta pressionar a tecla Windows do seu computador para exibir o desktop. A figura 1.4 exibe as duas versões do Visual Studio instaladas.
Figura 1.4 – Visual Studio instalado.
27
Capítulo 1 ■ Introdução
1.6 Microsoft Dreamspark O Microsoft Dreamspark é um portal da Microsoft que oferece softwares gratuitos, inclusive as versões pagas do Visual Studio. Neste livro vamos utilizar a versão Express do Visual Studio, que é gratuita. Porém no portal do Dreamspark é possível baixar inclusive a versão Professional. Se você é estudante e gostaria de se cadastrar no programa do Microsoft Dreamspark, acesse o endereço https://www.dreamspark.com.
Figura 1.5 – Portal do Microsoft Dreamspark.
1.7 Loja de aplicativos Depois de estudarmos o desenvolvimento de aplicativos, vamos aprender a publicar os aplicativos na loja, mas é importante saber que as lojas para o Windows Phone e Windows 8 são diferentes: * a loja do Windows Phone é chamada de Windows Phone Store; * a loja do Windows 8 é chamada de Windows Store. Para mais detalhes, verifique o capítulo 22, mas até lá ainda temos muito que estudar.
28
Desenvolvendo para Windows 8
1.8 Estrutura de capítulos do livro O livro está dividido em três partes, sendo a primeira uma introdução à linguagem C# utilizando o ambiente de desenvolvimento do Visual Studio. Depois temos os capítulos dedicados ao Windows Phone 8 e Windows 8. No capítulo 2, vamos aprender a linguagem C# e nos familiarizar com o Visual Studio, como, por exemplo, criar projetos, executar o código, verificar quais são as janelas e opções mais importantes dessa incrível ferramenta, além de várias teclas de atalho. O capítulo 3 vai explicar conceitos básicos do desenvolvimento para Windows Phone, em que muitos conceitos serão reaproveitados para o Windows 8, como a linguagem de marcação XAML (Extensible Application Markup Language), que é utilizada para a interface visual das telas. Depois de estudar os conceitos básicos de desenvolvimento, vamos iniciar o projeto dos carros, que desenvolveremos juntos, passo a passo, durante todo o livro. Esse projeto possui muitas características encontradas em aplicativos comerciais, como diversos componentes visuais, controle de telas na vertical e horizontal, integração com web services, XML e JSON, banco de dados e arquivos, recursos de multimídia, mapas e GPS e muitos outros. O objetivo de adotar esse projeto como forma de ensino se deve ao fato de eu acreditar que a melhor forma de aprender é aprender fazendo. É muito mais divertido do que fazer um projeto hello world em cada capítulo, pois aqui a coisa vai ficar bem mais séria, e diversos problemas surgirão durante o desenvolvimento do projeto. Nossa finalidade é discutir sempre as boas práticas e técnicas de design, para solucionar problemas comuns durante a construção de um aplicativo. A figura 1.6 exibe algumas telas do aplicativo executando no simulador do Windows Phone. Na figura, não dá para visualizar bem, mas na primeira tela é utilizado o conceito de panoramas para rolar a tela horizontalmente, a fim de navegar nas categorias dos carros, que são clássicos, esportivos e luxo. Esta lista de carros será buscada de um web service que retorna os dados no formato XML e JSON, e depois todos os dados serão salvos no banco de dados local. Muitos temas interessantes fazem parte deste projeto, como a parte de mapas e multimídia. Por exemplo, na tela de detalhes do carro, podemos escolher para visualizar no mapa, que exibe o local da fábrica do carro, conforme podemos ver na figura 1.7. Às vezes, alguns conceitos ficam fora do escopo do projeto dos carros, mas, sempre que isso acontece, um projeto separado é criado para explicar toda a teoria necessária. Por exemplo, neste capítulo dos mapas, também é explicado detalhadamente como monitorar o GPS do aparelho.
29
Capítulo 1 ■ Introdução
Figura 1.6 – Aplicativo dos carros para Windows Phone.
Figura 1.7 – Mapa.
Na tela de detalhes do carro, também podemos assistir ao vídeo de cada modelo, conforme a figura 1.8. No capítulo de multimídia, também vamos aprender alguns recursos extras, como utilizar a câmera pelo aplicativo para tirar fotos. Depois de concluir a versão para Windows Phone, vamos migrar o projeto para Windows 8, reaproveitando o código das classes e toda a lógica responsável por buscar os carros no web service. Porém a interface do Windows 8 é diferenciada, e por isso outro projeto será criado, com o modelo de navegação e os componentes padrões do Windows 8.
30
Desenvolvendo para Windows 8
Figura 1.8 – Vídeo do carro.
A figura 1.9 exibe o projeto dos carros executando no simulador do tablet com Windows 8; lembre-se de que essa mesma aplicação pode ser instalada em seu computador.
Figura 1.9 – Aplicativo dos carros para Windows 8.
Observe que na figura 1.9 podemos visualizar o menu lateral com as ações de pesquisar, compartilhar e configurações, que são conhecidas como Charms. Os usuários já estão acostumados a integrar essas ações, e o aplicativo dos carros vai permitir buscar e compartilhar os carros com esses recursos disponíveis no sistema operacional.
Capítulo 1 ■ Introdução
31
Eu particularmente acho a interface do Windows 8 muito boa, e depois que você se acostuma com ela é sensacional. Há muitas facilidades na interface, e muita coisa pode ser integrada no aplicativo. Outras duas funcionalidades que são muito populares no Windows 8 são o Semantic Zoom e o Snap. Caso você seja um usuário do Windows 8, já deve conhecer esses recursos; caso contrário, vamos estudá-los posteriormente. Nos tablets, temos mais espaço, então a tela de detalhes de um carro pode exibir o mapa e o vídeo ao mesmo tempo, conforme mostra a figura 1.10. Também vamos adicionar várias ações na application bar do Windows, a qual o usuário já está acostumado a utilizar.
Figura 1.10 – Vídeos, Mapas e Bottom App Bar no Windows 8.
Vale ressaltar que todos os dados necessários para o aplicativo funcionar, como as informações dos carros, as fotos e os vídeos, serão retornados do servidor, por meio de um web service. // Carros clássicos (XML e JSON) http://www.livrowindows8.com.br/carros/carros_classicos.xml http://www.livrowindows8.com.br/carros/carros_classicos.json // Carros esportivos (XML e JSON) http://www.livrowindows8.com.br/carros/carros_esportivos.xml http://www.livrowindows8.com.br/carros/carros_esportivos.json // Carros de luxo (XML e JSON) http://www.livrowindows8.com.br/carros/carros_luxo.xml http://www.livrowindows8.com.br/carros/carros_luxo.json
32
Desenvolvendo para Windows 8
No entanto, antes de iniciar este projeto, temos muito que aprender, então daremos um passo de cada vez. No próximo capítulo, vamos estudar os fundamentos da linguagem C#, e no capítulo 3 vamos aprender o básico sobre o desenvolvimento de aplicativos para Windows Phone, para iniciar o projeto dos carros somente no capítulo 4. E, conforme já disse, ainda tem o Windows 8, que é sensacional! Gostaria de agradecer pela confiança ao adquirir este livro e desejar a você uma boa leitura.
1.9 Links úteis Para desenvolver aplicativos para Windows Phone e Windows 8 é recomendado ter alguns links no seu favoritos. Seguem algumas páginas que você precisa ter sempre em mãos: Windows Phone Developer Center Portal para desenvolvedores do Windows Phone. Aqui você vai encontrar diversas informações sobre o desenvolvimento de aplicativos. https://dev.windowsphone.com
Windows Dev Center – Windows Store apps Portal para desenvolvedores do Windows. Aqui você encontrará todas as informações para desenvolver suas aplicações para Windows 8. http://msdn.microsoft.com/windows/ http://msdn.microsoft.com/windows/apps/
Página do Livro Visite a página do livro para obter o código-fonte dos exemplos e mais detalhes sobre esta e outras obras. http://www.livrowindows8.com.br
Página do autor http://facebook.com/ricardolecheta http://www.ricardolecheta.com.br