TCC - Desenvolvimento de Aplicativo para Windows Phone

1.340 visualizações

Publicada em

Trabalho de conclusão de curso com proposta de desenvolvimento de aplicativo para smartphones com Windows Phone

Publicada em: Tecnologia
0 comentários
4 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
1.340
No SlideShare
0
A partir de incorporações
0
Número de incorporações
4
Ações
Compartilhamentos
0
Downloads
55
Comentários
0
Gostaram
4
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

TCC - Desenvolvimento de Aplicativo para Windows Phone

  1. 1. INSTITUTO SUPERIOR DE MONTES CLAROS FACULDADE DE COMPUTAÇÃO DE MONTES CLAROS Curso de Sistemas de Informação César Augusto Pereira PROPOSTA DE DESENVOLVIMENTO DE APLICATIVO MÓVEL PARA COMPARAÇÃO DE PREÇOS DE SUPERMERCADOS EM MONTES CLAROS. Montes Claros/MG 2015
  2. 2. 1 César Augusto Pereira PROPOSTA DE DESENVOLVIMENTO DE APLICATIVO MÓVEL PARA COMPARAÇÃO DE PREÇOS DE SUPERMERCADOS EM MONTES CLAROS. Trabalho de conclusão de curso apresentado como exigência parcial para obtenção do diploma de Bacharel em Sistemas de Informação da Faculdade de Computação de Montes Claros. Orientador: Luiz Eduardo Maia Vilas Boas Especialista Montes Claros/MG 2015
  3. 3. 2 César Augusto Pereira PROPOSTA DE DESENVOLVIMENTO DE APLICATIVO MÓVEL PARA COMPARAÇÃO DE PREÇOS DE SUPERMERCADOS EM MONTES CLAROS. Trabalho de conclusão de curso apresentado como exigência parcial para obtenção do diploma de Bacharel em Sistemas de Informação da Faculdade de Computação de Montes Claros. Aprovado em: ____/____/2015 BANCA EXAMINADORA Ass.________________________________________________________ 1º Exam.: Luiz Eduardo Maia Vilas Boas – Especialista – Facomp Ass.________________________________________________________ 2º Exam.: Kaio Neves Dias – Especialista - Facomp Ass.________________________________________________________ 3º Exam.: Luiz Carlos Pires dos Santos – Mestre - Facomp Montes Claros/MG 2015
  4. 4. 3 AGRADECIMENTOS Durante a realização de um trabalho como este é difícil conseguir citar todos aqueles que tiveram participação, mesmo que pequena, para o sucesso desta jornada. Mesmo assim, deixo o registro de toda a minha gratidão à aqueles que estiveram comigo ao longo desta caminhada. Aos meus colegas de turma, deixo o meu agradecimento pelo companheirismo, em especial a Géssica e Déborah que se tornaram grandes amigas que levarei para sempre, além da Zenilda, que conheci há menos tempo mas me acolheu com imenso carinho, jamais vou esquecer de todos os momentos que passamos juntos. Aos meus professores agradeço por transmitirem todo seu conhecimento, principalmente meu orientador Luiz Eduardo, pois através do seu auxilio foi possível produzir este trabalho. Aos meus irmãos Fredy e Luiz, obrigado pelo forte apoio ao iniciar esta jornada. Faltam palavras para agradecer minha mãe, Ceiça, ela que merece todo o meu amor e carinho, pois me ensinou a ser quem sou e nunca mediu esforços para que eu conseguisse trilhar meu próprio caminho. Por fim ele, que nos concede o dom da vida, por todas as coisas boas ou ruins que aconteceram, mas que foram necessárias para chegar onde estou, pois nas mãos dele tudo tem seu tempo, só posso lhe agradecer meu amado Deus.
  5. 5. 4 RESUMO A tecnologia tem avançado de forma acelerada e está cada vez mais presente no cotidiano de todos. O mercado de telefonia móvel se destaca pelo seu forte crescimento e abrangência, com isso o Windows Phone se tornou uma das principais plataformas para dispositivos móveis. Portanto, é importante que os profissionais da área de tecnologia adquiram conhecimento sobre o desenvolvimento para plataformas móveis. Este trabalho utilizou o método de pesquisa exploratória como base para atingir o objetivo de apresentar a história, evolução, principais características e ferramentas de desenvolvimento do Windows Phone, além de criar uma proposta de aplicativo, que seja capaz de auxiliar as pessoas em uma atividade comum que é realizar compras em supermercados. Palavras-chave: Windows Phone, Dispositivos Móveis, Aplicativos.
  6. 6. 5 ABSTRACT The technology has advanced at an accelerated rate and is increasingly present in the daily lives of all. The mobile market stands out for its strong growth and coverage, so Windows Phone has become one of the leading platforms for mobile devices. Therefore, it's important that technology professionals acquire knowledge about development for mobile platforms. This study used the exploratory research method as a basis for achieving the objective of presenting the history, evolution, main characteristics and development tools for Windows Phone, and create an application proposal, to be able to help people in a common activity that is buy in supermarkets. Keywords: Windows Phone, Mobile Devices, Applications
  7. 7. 6 LISTA DE ILUSTRAÇÕES FIGURA 1 – Sistemas operacionais móveis..............................................................16 FIGURA 2 – Live Tile ................................................................................................17 FIGURA 3 – Requisitos de Hardware........................................................................18 FIGURA 4 – Arquitetura do Windows Phone.............................................................19 FIGURA 5 – Smartphone Nokia Lumia 520 ..............................................................31 FIGURA 6 – Diagrama de caso de uso do aplicativo ................................................32 FIGURA 7 – Diagrama de atividades do aplicativo ...................................................33 FIGURA 8 – Visual Studio IDE..................................................................................34 FIGURA 9 – Criação de interface no Visual Studio...................................................35 FIGURA 10 – Tela inicial do aplicativo ......................................................................36 FIGURA 11 – Tela de resultados de pesquisa ..........................................................37 FIGURA 12 – Tela de detalhes de preço ..................................................................38
  8. 8. 7 LISTA DE ABREVIATURAS E SIGLAS GSM: Global System for Mobile Communications HTML: HyperText Markup Language IDE: Integrated Development Environment JSON: JavaScript Object Notation LCD: Liquid Crystal Display LINQ: Language-Integrated Query RAM: Random Access Memory USB: Universal Serial Bus WCDMA: Wide-Band Code-Division Multiple Access Wi-Fi: Wireless Fidelity XAML: eXtensible Application Markup Language XAP: Extensão de arquivos XML: eXtensible Markup Language
  9. 9. 8 SUMÁRIO 1 INTRODUÇÃO ......................................................................................................10 2 DISPOSITIVOS MÓVEIS ......................................................................................12 2.1 LIMITAÇÕES......................................................................................................13 2.2 MOTIVAÇÃO......................................................................................................13 3 WINDOWS PHONE ..............................................................................................15 3.1 HISTÓRIA ..........................................................................................................16 3.1.1 Windows Phone 7..........................................................................................17 3.1.2 Hardware........................................................................................................18 3.1.3 Arquitetura .....................................................................................................19 3.1.3.1 Runtime........................................................................................................19 3.1.3.2 Tools.............................................................................................................20 3.1.3.3 Cloud Services .............................................................................................20 3.1.3.4 Portal services..............................................................................................21 4 DESENVOLVIMENTO DE APLICATIVOS ...........................................................22 4.1 SILVERLIGHT....................................................................................................23 4.2 XAML – EXTENSIBLE APPLICATION MARKUP LANGUAGE..........................24 4.3 CONHECENDO O FRAMEWORK .....................................................................25 4.3.1 A linguagem C# e o .NET Framework..........................................................25 4.4 PARSE ...............................................................................................................26 4.4.1 JSON...............................................................................................................27 5 PROPOSTA ..........................................................................................................28 5.1 OBJETIVO DO APLICATIVO .............................................................................28 5.2 ESTRUTURA DO SISTEMA ..............................................................................29 5.3 REQUISITOS FUNCIONAIS ..............................................................................30 5.4 REQUISITOS NÃO-FUNCIONAIS .....................................................................30 5.5 REQUISITOS MÍNIMOS DE SISTEMA..............................................................30 5.6 DIAGRAMA DE CASO DE USO ........................................................................32
  10. 10. 9 5.7 TECNOLOGIAS UTILIZADAS............................................................................34 5.8 ESBOÇO DE INTERFACES ..............................................................................36 6 CONSIDERAÇÕES FINAIS ..................................................................................39 REFERÊNCIAS.........................................................................................................40
  11. 11. 10 1 INTRODUÇÃO A tecnologia está cada vez mais presente no cotidiano das pessoas, as vezes nem se percebe o quanto somos dependentes da tecnologia. Os smartphones1 invadiram nossas vidas de uma maneira que não há como negar que é uma tendência que veio para ficar. Os telefones celulares estão cada vez mais poderosos e úteis em nosso dia a dia, desde os aparelhos mais potentes, até os mais modestos. Observar a evolução desse mercado é imprescindível para os profissionais que trabalham com desenvolvimento de software, pois esse é um mercado novo que cresce a passos largos. Atrelado aos smartphones veio o uso da internet, que antes era apenas um item a mais nos celulares, mas que não era muito valorizado, agora o aparelho que não possui acesso à internet é visto como ultrapassado. Essa forte tendência de uso da internet nos celulares abriu uma nova porta para os desenvolvedores, que agora podem criar serviços web específicos para uso em smartphones, assim tirando proveito de todo o poder que eles têm a oferecer. De acordo com pesquisa divulgada pelo site appFigures, as lojas do Android e iOS, contam com mais de 1 milhão de aplicativos cada, enquanto números divulgados pela Microsoft indicam menos de 600 mil aplicativos na sua loja. Isto mostra que a plataforma da Microsoft tem muito a ser explorada. Este trabalho tem como objetivo principal desenvolver uma proposta de aplicativo para a plataforma Windows Phone, além de mostrar de forma conceitual esta plataforma, sua história, evolução e ferramentas de desenvolvimento. Foi escolhido este tema pelo fato do crescente mercado de aparelhos celulares e o grande espaço que há para os desenvolvedores nessa plataforma. Foi feito um estudo exploratório, tendo como metodologia a pesquisa bibliográfica e documental, que permite ao pesquisador aumentar seu conhecimento na área estudada e criar uma base para desenvolvimento do trabalho. 1 Telefones móveis capazes de se conectar à internet e possuem vários recursos de computação móvel.
  12. 12. 11 O presente trabalho está estruturado de forma que além desta introdução, o capítulo 2 apresenta os dispositivos móveis de forma geral com suas limitações e motivações. O capítulo 3 mostra a plataforma Windows Phone com sua história, evolução e arquitetura. As ferramentas de desenvolvimento são apresentadas no capítulo 4. A proposta de desenvolvimento do aplicativo é mostrada no capítulo 5. As considerações finais são apresentadas no capítulo 6.
  13. 13. 12 2 DISPOSITIVOS MÓVEIS Há poucos anos ter um telefone celular que fizesse algo além de chamadas e envio de mensagens de texto era sinal de status e poder, pois aparelhos deste tipo eram difíceis de se encontrar. Hoje em dia o cenário está muito diferente, a tecnologia evoluiu, e continua a evoluir muito rápido, e ter um aparelho celular inteligente, o chamado smartphone, está cada vez mais comum. A popularidade dos smartphones é tão grande atualmente que Cardoso (2014, p. 3) ressalta “(...) carregar um smartphone em um bolso da calça é quase tão comum quanto a carteira que se carrega no outro bolso.” O termo dispositivo móvel pode ser entendido como um aparelhos que pode ser facilmente transportado e utilizado em qualquer lugar, como smartphones e tablets. Turban e Volonino (2013, p. 193) definem smartphones da seguinte forma: “os smartphones são telefones móveis capazes de se conectar à internet e que possuem uma variedade de recursos de computação móvel.” Os tablets são dispositivos que ficam entre o smartphone e o notebook, eles possuem telas normalmente com 7 a 10 polegadas e possuem aplicativos de produtividade semelhantes aos encontrados nos computadores como editores de texto e planilhas e também aplicativos para diversão como os encontrados em smartphones (CUNHA, 2012). Para Johnson (2007, p. 20) a computação móvel permite acesso à serviços independente da sua localização, onde usuário e dispositivo se movimentam sem que as tarefas executadas sejam interrompidas.
  14. 14. 13 2.1 LIMITAÇÕES Apesar da grande evolução que os dispositivos móveis têm sofrido nos últimos anos, há limitação em alguns aspectos, principalmente em relação à transmissão de dados. Se comparado com computadores de mesa a velocidade de transmissão de dados dos dispositivos móveis é muito inferior. Há também limitações de consumo de energia, tamanho de tela, armazenamento e capacidade de processamento (Gupta, 2008). As restrições apresentadas pelos dispositivos móveis são os desafios que os desenvolvedores precisam lidar para tornar seus aplicativos relevantes para os consumidores. Durante o desenvolvimento é preciso ter em mente as limitações que o dispositivo possui, desta forma sempre otimizando o aplicativo para aproveitar tudo aquilo que o dispositivo tem a oferecer e contornar as dificuldades. 2.2 MOTIVAÇÃO A tecnologia móvel cresce cada dia mais, conforme pesquisa realizada em 2014 pela GSMA Intelligence, existe 7,22 bilhões de linhas de celular ativas no mundo para 7,2 bilhões de pessoas. Haddad (2015) reforça que hoje em dia todos querem ter acesso à informações independente de onde estejam: Isso é o que todo mundo quer, informações na palma da mão a qualquer hora e lugar o mais rápido possível. Atualmente a área de cobertura dos celulares tem se expandido, permitindo ter um bom sinal nas mais diversas regiões do país. O preço que se paga para isso é de acordo com a necessidade da informação. Imagine que um operador de bolsa de valores que está em deslocamento do escritório até o cliente, não deixará de comprar ou vender ações só porque não está conectado a um computador. Assim como Haddad (2015) cita, são vários os casos onde ter informações disponíveis pode fazer toda a diferença e hoje com os avanços da tecnologia móvel,
  15. 15. 14 o uso do computador portátil pode ser reduzido e em algumas situações até substituído pelo telefone celular, pois este aparelho pode ser facilmente transportado para qualquer lugar.
  16. 16. 15 3 WINDOWS PHONE Windows Phone é um sistema operacional para aparelhos celulares desenvolvido pela Microsoft. Este sistema operacional surgiu como resposta à outros sistemas que ganhavam espaço no mercado, como o iOS da Apple e o Android da Google. O Windows Phone veio para substituir o Windows Mobile — que era o sistema móvel da Microsoft que equipava aparelhos inteligentes direcionados ao mercado corporativo, sendo assim o Windows Phone não é uma evolução da plataforma móvel e foi desenvolvimento a partir do zero, com uma dinâmica de uso completamente diferente. Para Cardoso (2014), esse sistema tem um foco diferente na experiência do usuário e uma interface bem diferente do encontrado em seus concorrentes. O Windows Phone tem se tornado um dos três sistemas para aparelhos celulares mais vendidos do Brasil aponta dados de 2014, atrás apenas do Android e iOS. Uma das diferenças entre o Windows Phone e seus principais concorrentes, é a sua interface que pode ser facilmente personalizada com diferentes tamanhos de ícones, estes que são dinâmicos e possuem ainda animações e informações atualizadas de tempos em tempos, enquanto nos concorrentes os ícones são estáticos. Na FIG. 1 pode-se comparar a tela inicial de versões recentes do Android, iOS e Windows Phone respectivamente.
  17. 17. 16 FIGURA 1 – Sistemas operacionais móveis Fonte: CARDOSO, 2014. 3.1 HISTÓRIA Nos anos 2000 a Microsoft obteve sucesso com seu sistema para telefones celulares, o Windows Mobile, que tornou-se popular e estava ganhando espaço no mercado, presente em aparelhos de diversos fabricantes. Com todo o destaque que esse sistema ganhou, novos aparelhos foram surgindo muito rápido, com diferentes características, como telas sensíveis ao toque, às quais o sistema operacional ainda não estava adaptado, fazendo com que ao passar dos anos a plataforma ficasse caótica, sem um padrão a ser seguido pelas fabricantes. (MONACO; CARMO, 2012). Em 2007, a empresa Apple lançou seu primeiro telefone celular, denominado iPhone. O dispositivo foi um grande sucesso que conquistou os consumidores e despertou a atenção da concorrência pelos novos recursos e facilidades de uso. O iPhone foi o primeiro de muitos smartphones que surgiram logo em seguida, mudando completamente o mercado de telefones celulares e suas necessidades.
  18. 18. 17 Pouco tempo depois do lançamento do iPhone, a Google anunciou o Android, seu sistema operacional para smartphones, seguindo características similares ao que foi apresentado no iPhone, como conexão à internet, tela sensível ao toque, câmera, entre outros. O Android também se mostrou um sucesso, foi então que a Microsoft mudou sua abordagem de mercado, onde o Windows Mobile estava muito atrás do que realmente era procurado no mercado e então a Microsoft diminuiu os esforços no desenvolvimento do Windows Mobile 6 e deu iniciou ao desenvolvimento do Windows Phone 7. 3.1.1 Windows Phone 7 Em 2010, o Windows Phone 7 foi apresentado, trazendo um sistema operacional totalmente diferente do que era visto no Windows Mobile, com inúmeras novidades, não se limitando a copiar o que outras empresas estavam desenvolvendo, e assim surgindo com uma proposta completamente nova (MONACO; CARMO, 2012). Entre as inovações do Windows Phone 7 está a Live Tile (bloco dinâmico), que é o ícone de cada aplicativo, podendo simplesmente mostrar algumas imagens animadas ou fornecer informações atualizadas dentro de um período determinado, como notícias e previsão do tempo que pode ser visto na FIG. 2. FIGURA 2 – Live Tile Fonte: PRÓPRIA, 2015
  19. 19. 18 3.1.2 Hardware Com o Windows Phone, o objetivo inicial da Microsoft é oferecer uma plataforma para os dispositivos móveis, e não o hardware. A Microsoft queria tomar um novo caminho com esse novo sistema, e queria evitar passar por problemas vistos no passado. Dessa forma a Microsoft definiu os requisitos mínimos necessários para executar seu sistema, assim poderia entregar uma experiência melhor e mais consistente aos consumidores, além de facilitar a vida dos desenvolvedores. (MONACO; CARMO, 2012). A FIG. 3 mostra as configurações mínimas exigidas para executar o Windows Phone 7: FIGURA 3 – Requisitos de Hardware Fonte: MONACO; CARMO, 2012.
  20. 20. 19 3.1.3 Arquitetura A plataforma do Windows Phone é construída a partir de quatro componentes principais, que podem ser vistos na FIG. 4, e serão explicados logo a seguir. FIGURA 4 – Arquitetura do Windows Phone Fonte: MONACO; CARMO, 2012. Na parte superior, separado como “Screen 2 ” temos as ferramentas que são utilizadas para criação e execução de códigos direto no aparelho, na parte “Cloud3” temos os serviços que podem ser utilizados pelo aparelho. 3.1.3.1 Runtime Esta é a camada que gerencia o desenvolvimento de aplicações, pois aqui são definidas as políticas de acesso aos recursos de software e hardware, assim é garantida maior segurança ao sistema já que os aplicativos não têm acesso total ao aparelho. 2 Tela – parte do aplicativo que executa direto no aparelho celular 3 Nuvem – parte do aplicativo que executa em servidores
  21. 21. 20 Com o Silverlight e o XNA Framework, todo o desenvolvimento é feito em código gerenciado, em um conceito chamado de sandbox, que permite o rápido desenvolvimento de aplicações seguras e protegidas. Nesse caso, sua aplicação não “enxerga” outras aplicações instaladas no telefone, assim como não tem acesso às camadas inferiores do sistema, aumentando drasticamente o nível de segurança. (MONACO; CARMO, 2012) O uso de frameworks facilita o desenvolvimento diminuindo o tempo para finalização do projeto além de possibilitar a reutilização de código. 3.1.3.2 Tools Para desenvolver aplicações para Windows Phone é possível realizar a instalação de uma pacote de ferramentas que inclui tudo que é necessário. Este pacote contém o Visual Studio e Blend, que são as ferramentas principais, voltadas para a escrita de código e construção do design respectivamente. Essas aplicações têm sua utilização completamente integrada, sendo possível alternar entre elas constantemente no decorrer do desenvolvimento. (MONACO; CARMO, 2012) 3.1.3.3 Cloud Services A plataforma de aplicações do Windows Phone permite integrar serviços de computação em nuvem para fornecer produtos mais completos para os usuários. De acordo com Mônaco e Carmo (2012) os serviços de nuvem oferecem escalabilidade e podem aumentar o número de funcionalidades dos aplicativos, como notificações, mapas e até propagandas.
  22. 22. 21 3.1.3.4 Portal services O Marketplace, hoje conhecido apenas como “Loja”, é a plataforma de certificação e distribuição de aplicativos para Windows Phone. Todo o processo de certificação, submissão de aplicativos, cobrança e pagamento são feitos por meio desse portal. É possível acompanhar métricas do aplicativo, como quantidade de downloads4, região com maior público, entre outras, assim ajudando o desenvolvedor a entender o mercado. É nesse portal também que os consumidores podem localizar e adquirir aplicativos. (MONACO; CARMO, 2012) 4 Baixar – quantidade de vezes em que um aplicativo foi transferido para os aparelhos celulares
  23. 23. 22 4 DESENVOLVIMENTO DE APLICATIVOS Aplicativos são como ferramentas que você pode carregar dentro do seu celular, cada aplicativo pode desempenhar uma ou várias tarefas, como tocar música, navegar na internet, agregar notícias, etc. (Mas afinal, o que é um App? 2012) O Windows Phone possui um ambiente de desenvolvimento estável e padronizado, diferente do que ocorria na plataforma anterior Windows Mobile, isso facilita a criação de novos aplicativos para o sistema como destaca Mônaco e Carmo (2012, p. 4), O Windows Phone 7 é uma solução que não envolve apenas sistema operacional [...]. É um sistema operacional + requisitos de hardware + plataforma de desenvolvimento completa. [...] levando o desenvolvedor a pensar no usuário não apenas do ponto de vista de resoluções de problemas do dia a dia, mas também em termos de experiência de uso, interface e desempenho. Este trabalho apresenta um conceito e uma base estrutural que forneça subsidio para o desenvolvimento de um aplicativo que possa facilitar a vida das pessoas na procura pelos menores preços em suas compras. Mas por que desenvolver um aplicativo para celular? Essa pergunta é respondida por Mureta (2013), Atenção: a tecnologia móvel é a próxima grande onda e ela está engatinhando, crescendo rapidamente a cada dia. Isso está causando uma revolução da informação e criação de uma nova era em que todos estão conectados. Como visto no início do trabalho é muito comum andar o tempo todo com o smartphone, isso traz muita comodidade para realizar diversas tarefas que antes só eram possíveis usando um computador. Aproveitando de todo o poder e conveniência dos smartphones, se torna muito mais útil possuir sempre a mão ferramentas que facilitam o dia a dia.
  24. 24. 23 4.1 SILVERLIGHT O Silverlight é um pacote de ferramentas que facilita a criação de conteúdo multimídia e foi uma solução adotada pela Microsoft para gerar interfaces ricas e aplicações compatíveis com diversas plataformas e até navegadores de internet. O Silverlight facilita a criação de interfaces através da utilização da linguagem XAML (linguagem de marcação utilizada no Windows Phone). Todo o código é baseado em .NET, C# e serviços, dessa forma facilita a adaptação de código fonte para diferentes plataformas, além de facilitar o uso de serviços no Windows Phone. (MONACO; CARMO, 2012) Esta solução criada pela Microsoft tem como objetivo facilitar a vida do desenvolvedor, visto que ela une de forma transparente as três ferramentas principais para o desenvolvimento de aplicativos para Windows Phone. Se tratando de comunicação cliente-servidor, o Silverlight trabalha com serviços. A camada de serviços é necessária no Silverlight por que todo o desenvolvimento é assíncrono, ou seja, ao fazer solicitações ao servidor, o sistema não fica aguardando uma resposta imediata. O método assíncrono é utilizado por que há muitos casos em que os aplicativos móveis precisam utilizar dados de terceiros, dessa forma não há como saber se o servidor consultado está funcionando. (MONACO; CARMO, 2012) O desenvolvimento assíncrono impede que sejam apresentadas telas congeladas nos aplicativos, pois estes podem continuar trabalhando normalmente enquanto aguardam a resposta do servidor. O Silverlight existe tanto para Windows Phone quanto para navegares de internet, porém com algumas diferenças. Os recursos disponíveis são adaptados de acordo com as necessidades pois algumas questões se aplicam somente a telefones e outras somente à navegadores. No Windows Phone estão presentes recursos como XAML, pacotes .xap, estilos, entre outros. No desktop existem recursos como
  25. 25. 24 arrastar e soltar, impressão, entre outros recursos que são pertinentes apenas ao uso em computadores. (MONACO; CARMO, 2012) É possível perceber que o funcionamento de um telefone celular e um computador é muito diferente, e isso exige adaptações. O Silverlight é adaptado para os dois formatos, disponibilizando somente o que é importante para cada plataforma. 4.2 XAML – EXTENSIBLE APPLICATION MARKUP LANGUAGE O XAML é uma linguagem de marcação que é uma usada no Silverlight do Windows Phone para criação da interface dos aplicativos, tudo que é mostrado na tela é feito através desta linguagem. Para quem já desenvolveu para web perceberá uma certa familiaridade com o XAML, pois esta linguagem é baseada em XML que é muito usada na web. (MONACO; CARMO, 2012) O desenvolvimento web é o ambiente onde mais se usa linguagens de marcação, a mais conhecida é o HTML, por isso a adaptação para o XAML pode acontecer de forma mais agradável para esse tipo de desenvolvedor que já possui uma certa familiaridade com esse tipo de linguagem. Como Mônaco e Carmo (2012) destacam, o desenvolvedor têm duas opções para desenho de interface, a primeira é escrevendo todo o código via XAML, e a segunda opção é bem mais simples e fácil para iniciantes, onde é possível arrastar os controles, como botões, etiquetas, entre outros, através da interface do Visual Studio que será apresentado no próximo capítulo.
  26. 26. 25 4.3 CONHECENDO O FRAMEWORK Para o desenvolvimento de aplicativos para ambientes Microsoft é utilizada uma IDE própria, chamada Visual Studio. Uma IDE de desenvolvimento pode ser definida da seguinte forma: IDE é uma sigla que vêm do inglês “Integrated Development Environment” ou “Ambiente Integrado de Desenvolvimento”, é um programa de computador que reúne características e ferramentas de uma determinada linguagem de programação, serve de apoio ao desenvolvimento de software com o objetivo de agilizar este processo. (CROCCIARI, 2009) O Visual Studio pode ser utilizado para criar diferentes tipos de aplicativos como para Windows Phone, Windows Store, aplicativos para área de trabalho e aplicativos Web, além de ser possível utilizar mais de uma linguagem de programação, sendo elas: Visual Basic, C#, C++, F# e JavaScript. (MICROSOFT DEVELOPER NETWORK, 2015) Além da escrita de código-fonte, o Visual Studio também oferece suporte ao desenho de interfaces, sendo possível fazer a prototipação do software através de comandos de arrastar e soltar e também através de código XAML. 4.3.1 A linguagem C# e o .NET Framework A linguagem C# faz parte do conjunto de ferramentas oferecidas na plataforma .NET que é destinada ao uso exclusivo em ambientes Microsoft. “O C# é uma linguagem orientada a objetos criada por vários programadores da Microsoft (...). Ela sofreu forte influência de várias linguagens como C++, Java e Delphi (Object Pascal)”. (DIONYSIO, TAVARES; JUNIOR, 2013, p. 13) Conforme citado esta linguagem foi desenvolvida pela própria Microsoft e possui todas as bibliotecas necessárias para criação de aplicativos. O C# fornece recursos
  27. 27. 26 poderosos, como tipos de valor nulo, enumerações e acesso direto à memória, estes são recursos herdados da linguagem C++, além de oferecer suporte a métodos e tipos genéricos que fornecem segurança e desempenho. O C# também oferece bibliotecas para fazer comunicação com outros softwares do ambiente Windows caso necessário, este foi um dos motivos que levaram a Microsoft a desenvolver essa linguagem, pois nenhuma das linguagens disponíveis na época tinham suporte total a comunicação com código nativo. (MICROSOFT DEVELOPER NETWORK, 2015) Códigos escritos em C# são executados no .NET Framework, que é um componente do Windows que inclui um ambiente virtual chamado “Common Language Runtime” (CLR5). Ao compilar um código fonte, é gerado o executável do aplicativo, este executável é carregado para o ambiente virtual que é responsável por interpretar os comandos e passá-los para o sistema operacional, tudo isso ocorre de forma imperceptível, claro. Esse tipo de execução garante maior segurança e estabilidade para o sistema operacional, pois em caso de falha do aplicativo o apenas a máquina virtual será afetada, desta forma o sistema operacional não sofrerá impacto. (MICROSOFT DEVELOPER NETWORK, 2015) 4.4 PARSE A plataforma Parse fornece uma solução de back-end completa para aplicativos móveis. Para Fernandes (2014) o back-end é o motor do aplicativo que funciona de forma invisível para o usuário, fazendo tarefas como a gestão do banco de dados. O objetivo do Parse é eliminar a necessidade de escrever código do servidor ou fazer manutenção de servidores. Este serviço fornece código em nuvem, que possibilita processar dados no servidor, e banco de dados. Durante nossa proposta de desenvolvimento foi escolhido o Parse como solução de banco de dados web por ele ser totalmente compatível com o padrão assíncrono utilizado no .NET, dessa 5 Ambiente virtual que executa o código e provê serviços que tornam o processo de desenvolvimento mais fácil
  28. 28. 27 forma os aplicativos continuam responsivos mesmo durante tarefas de longa duração, além de fornecer uma documentação completa para o desenvolvimento no Windows Phone. (PARSE, 2015) Aplicativos que utilizam a plataforma Parse, além de banco de dados, eles têm diversas outras possibilidades como enviar e receber notificações, gerenciar usuários, trabalhar com dados de localização geográfica e usar mídias sociais. (ORTIZ, 2012) 4.4.1 JSON JSON (JavaScript Object Notation – Notação de Objetos JavaScript) é uma formatação de troca de dados baseada em um subconjunto da linguagem de programação JavaScript. JSON é em formato texto e completamente independente de linguagem e pode trabalhar como várias linguagens. Isto faz do JSON um formato leve e fácil de ser trabalhado em diferentes ambientes de troca de dados, por isso este formato é utilizado para troca de informações com a plataforma Parse. A notação do JSON possui semelhanças com várias linguagens de programação amplamente conhecidas como C/C++, C#, Java, entre outras. Virtualmente todas as linguagens de programação têm suporte ao JSON de alguma forma. (JSON, 2015) O JSON é utilizado na linguagem C# através de comandos LINQ (Language- Integrated Query – Consulta Integrada à Linguagem). O LINQ possibilita a consulta a diversas fontes de dados através dos mesmos comandos, sendo as fontes bancos de dados relacionais, arquivos de texto ou JSON. (MICROSOFT DEVELOPER NETWORK, 2015)
  29. 29. 28 5 PROPOSTA Este trabalho tem como objetivo desenvolver uma proposta, mostrando os recursos necessários para a criação de aplicativos para a plataforma Windows Phone. Esta proposta terá como base a ideia de um aplicativo que possa prover ao usuário uma forma de pesquisar por preços de produtos de supermercados através do seu telefone celular, independente do local onde a pessoa esteja. 5.1 OBJETIVO DO APLICATIVO O aplicativo proposto tem o objetivo de fornecer ao usuário uma solução para pesquisas de preços de forma semelhante ao que acontece em sites de compras na internet, entretanto este aplicativo funcionará de forma colaborativa, dessa forma cada utilizador irá ajudar a catalogar os preços dos supermercados locais, estes que não disponibilizam seus preços em nenhuma fonte digital aberta ao público. Durante o processo de compra via internet é comum acessar diversas lojas diferentes com o intuito de encontrar o menor preço, para essa situação existem alguns sites que fazem a busca e comparação de preços de determinados itens em diferentes lojas, assim facilitando a vida do comprador. Entretanto, quando as compras são feitas em supermercados comuns, geralmente, a única forma de comparar os preços é indo em cada estabelecimento procurar o produto desejado, assim perdendo um tempo preciso. As redes de supermercados presentes na cidade de Montes Claros não fornecem consulta de seus produtos em nenhum meio digital que possibilite a captura automática de dados, a única divulgação é feita través da televisão ou panfletos distribuídos no próprio estabelecimento. Dessa forma, a proposta do aplicativo é poupar as pessoas do cansaço físico e da perda de tempo, oferecendo uma forma de consulta prática, através do próprio celular.
  30. 30. 29 Visto que não há distribuição de informações em meio eletrônico, a única forma de reunir as informações de preços é manualmente, por esse motivo, existe uma ideia de colaboração no aplicativo, assim cada consumidor pode inserir um novo produto que imediatamente ficará disponível para pesquisa para todos os usuários. Reforçando a ideia de cooperação, também deverá ser possível denunciar informações incorretas e assim construir uma base de informações mais precisa. 5.2 ESTRUTURA DO SISTEMA A linguagem de programação utilizada será o C#, uma linguagem especialmente desenvolvida para os produtos da Microsoft, o que garante maior compatibilidade com funções do sistema. (MICROSOFT DEVELOPER NETWORK, 2015) O C# possui semelhanças com outras linguagens de programação, o que facilita o aprendizado dos desenvolvedores de outras plataformas, assim eles podem iniciar o desenvolvimento de forma rápida, além disso, o C# apresenta total compatibilidade com o Windows Phone e suas funções, assim é possível aproveitar todos os recursos dos dispositivos equipados com esta plataforma, dispensando o uso de qualquer complemento. O banco de dados utilizado para armazenar todas as informações do aplicativo será construído sob a plataforma Parse, dessa forma não é necessário ter servidor dedicado pois esta plataforma já fornece a estrutura necessária, que pode ser escalada conforme a necessidade. O banco de dados pode ser criado diretamente no site da plataforma, sem a necessidade de programação, e em seguida é gerado o código-fonte usado para conexão entre o aplicativo e o Parse, sendo necessário apenas adicionar esse trecho ao código do aplicativo.
  31. 31. 30 5.3 REQUISITOS FUNCIONAIS O aplicativo apresenta os seguintes requisitos funcionais:  Todas as informações são armazenadas em um banco de dados em um servidor.  O aplicativo deve funcionar utilizando rede de dados móveis.  O usuário pode incluir informações no aplicativo.  Alterações de informações em produtos devem ficar disponíveis imediatamente.  O usuário pode indicar que há informações incorretas.  O aplicativo deve fornecer instruções para auxiliar o usuário.  O aplicativo deve apresentar uma tela com informações de vários estabelecimentos para um mesmo produto. 5.4 REQUISITOS NÃO-FUNCIONAIS Os requisitos não-funcionais para o aplicativo são:  Compatibilidade com sistema operacional Windows Phone 8 ou superior.  Ser adaptado ao uso em telas de toque (Touch Screen6).  Compatibilidade com resolução de tela à partir de 480x800 pixels. 5.5 REQUISITOS MÍNIMOS DE SISTEMA O aplicativo deve apresentar compatibilidade com um grande número de aparelhos, para isso deverá ser otimizado para executar mesmo nos smartphones mais 6 Tela que pode detectar a localização de um toque dentro de sua área de exibição
  32. 32. 31 simples. A FIG. 5 mostra o aparelho celular Nokia Lumia 520, aparelho mais básico com Windows Phone disponível no mercado até a data deste trabalho, por este motivo, suas configurações se tornam os requisitos mínimos para a execução do aplicativo proposto. FIGURA 5 – Smartphone Nokia Lumia 520 Fonte: MICROSOFT, 2015. Abaixo temos as especificações técnicas do aparelho Nokia Lumia 520 obtidas em Microsoft Celulares (2015):  Dimensões: 119,9 x 64 x 9,9mm  Peso: 124g  Rede: GSM/WCDMA  Conexões: Bluetooth 4.0, Wi-Fi, USB 2.0  Processador: dual-core com 1GHz de frequência  Memória RAM: 512MB  Memória de armazenamento: 8GB  Tela: LCD 4 polegadas, resolução 480x800  Câmera: 5 megapixels  Bateria: 1430 mAh  Sistema operacional: Windows Phone 8
  33. 33. 32 5.6 DIAGRAMA DE CASO DE USO A FIG. 6 apresenta o diagrama de caso de uso do aplicativo. Pode-se observar que haverá apenas um ator que é o próprio usuário do aplicativo. FIGURA 6 – Diagrama de caso de uso do aplicativo Fonte: PROPRIA, 2015. O diagrama da FIG. 6 mostrou de forma geral as funções que estarão disponíveis para o usuário do aplicativo. O QUADRO 1 apresenta de forma mais detalhada cada caso de uso visto na FIG. 6.
  34. 34. 33 QUADRO 1 Descrição dos casos de uso do aplicativo Nome Descrição Tela inicial Apresenta principais produtos para pesquisa rápida Pesquisa individual Permite ao usuário digitar o nome de um produto específico para consulta de preço Cadastro de produto Permite ao usuário cadastrar informações para um novo produto Ajuda Fornece instruções básicas ao usuário Enviar feedback Permite ao usuário enviar sua opinião sobre o aplicativo para os desenvolvedores. Sair Finaliza o aplicativo Visualização de preços Exibe os preços dos produtos Detalhes de preços Exibe detalhes de preços do produto selecionado Denunciar preço incorreto Permite ao usuário informar sobre preços errados Fonte: PROPRIA, 2015. O fluxo principal de funcionamento do aplicativo começa a partir do momento que o usuário seleciona uma opção na tela inicial. O fluxo pode ser observado de forma resumida na FIG. 7. FIGURA 7 – Diagrama de atividades do aplicativo Fonte: PROPRIA, 2015.
  35. 35. 34 5.7 TECNOLOGIAS UTILIZADAS Como ambiente de desenvolvimento, será utilizado o Visual Studio Express, que é a ferramenta oficial para o desenvolvimento de aplicativos para Windows Phone. A versão “Express” é a única disponibilizada de forma gratuita. A interface do Visual Studio apresenta uma navegação simples com a interface de escrita de código no centro, logo abaixo fica a saída de comandos onde é exibido o processo de compilação, bem como erros no código, na lateral direita há o painel de navegação, que possibilita explorar os itens do projeto de forma rápida como pode ser visto na FIG. 8. FIGURA 8 – Visual Studio IDE Fonte: Microsoft Developer Network, 2015.
  36. 36. 35 O Visual Studio também possibilita o desenvolvimento de interfaces de aplicativos de forma simplificada, podendo o desenvolvedor organizar os controles que deseja, arrastando e soltando os itens na tela conforme mostra a FIG. 9. FIGURA 9 – Criação de interface no Visual Studio Fonte: PROPRIA, 2015.
  37. 37. 36 5.8 ESBOÇO DE INTERFACES Com o intuito de facilitar a compreensão do aplicativo proposto, serão apresentados alguns esboços das principais interfaces do o aplicativo. É preciso ressaltar que as interfaces que seguem são apenas para exemplo e todas as informações nelas exibidas são fictícias. A FIG. 10 ilustra a tela inicial do aplicativo, nesta tela é possível visualizar opções pré-definidas para busca que já traz os resultados de itens relacionados. Também é possível acessar a busca através do ícone da lupa ou abrir o menu com opções que direcionam para outras telas FIGURA 10 – Tela inicial do aplicativo Fonte: PROPRIA, 2015.
  38. 38. 37 Ao clicar em uma das opções de busca pré-definidas, o aplicativo então irá apresentar a tela de resultados da pesquisa, trazendo informações de produtos relacionados com o tema da pesquisa, com seus menores e maiores preços, exibindo também qual é o estabelecimento que está com o menor preço. A FIG. 11 mostra o exemplo de resultado de pesquisa selecionando a opção “Bolo”. FIGURA 11 – Tela de resultados de pesquisa Fonte: PROPRIA, 2015. A interface utiliza um código visual para melhor apresentar as informações, utilizando a cor verde para o menor preço e a cor vermelha para o maior preço de cada produto.
  39. 39. 38 Selecionando qualquer produto da tela de resultados será aberta a tela com os detalhes dos preços, apresentando o preço do produto em todos os supermercados disponíveis no banco de dados e também fornecendo a opção de informar preços errados como pode ser visto na FIG. 12. FIGURA 12 – Tela de detalhes de preços Fonte: PROPRIA, 2015.
  40. 40. 39 6 CONSIDERAÇÕES FINAIS O estudo realizado ao longo deste trabalho procurou mostrar o bom momento do mercado de telefonia móvel e o espaço que há para desenvolvedores nesse mercado. Também foi possível perceber que o desenvolvimento do aplicativo proposto pode ser viável, principalmente considerando as ferramentas e tecnologias disponíveis de forma gratuita. Portanto, o conteúdo apresentado aqui será útil aos interessados no desenvolvimento de aplicativos para dispositivos móveis, principalmente com o sistema operacional Windows Phone. No decorrer do trabalho foram apresentados fatos que mostram como o uso de aparelhos celulares tem crescido de uma forma extremamente rápida, mostrando que é essencial para o profissional da área de desenvolvimento ter conhecimento da linguagem e ferramentas disponíveis para desenvolvimento móvel. Este trabalho contribuiu para a ampliação do conhecimento acerca de desenvolvimento para dispositivos móveis, bem como no desenvolvimento da pesquisa científica. Diante da proposta apresentada, sugere-se como trabalho futuro o desenvolvimento do aplicativo que poderá servir de auxílio para muitas pessoas no momento de decisão do melhor lugar para se comprar.
  41. 41. 40 REFERÊNCIAS ANDROID, está em 91,6% dos celulares vendidos no 1º semestre, diz pesquisa. G1, São Paulo. 23 set. 2014. Disponível em <http://g1.globo.com/tecnologia/noticia/2014/09/android-esta-em-916-dos-celulares- vendidos-no-1-semestre-diz-pesquisa.html>. Acesso em: 27 set. 2014. APP Stores Growth Accelerates in 2014. AppFigures. Disponível em: <http://blog.appfigures.com/app-stores-growth-accelerates-in-2014/>. Acesso em: 15 abr. 2015. CROCCIARI, Daniel. O que é uma IDE. HMG Lights, fev. 2009. Disponível em: <https://hmglights.wordpress.com/2009/02/09/o-que-e-uma-ide/>. Acesso em: 08 mai. 2015. CUNHA, Ubiratan. O que é um tablet e o que ele faz? Mochileiro Digital, fev. 2012. Disponível em <http://www.mochileirodigital.com.br/tecnologia/eletronicos/o-que-e- um-tablet/>. Acesso em: 20 mar. 2015. CARDOSO, Gabriel Schade. Criando aplicações para o seu Windows Phone. [S.L] Casa do Código, 2014. 150 p. DIONYSIO, R. C. C.; TAVARES, N. S.; JUNIOR, C. I. S. Introdução a linguagem C#, Taquaritinga, SP: AgBook, 2013. p. 10. FERNANDES, César. O que é Back-end como serviço (Backend as a Service)? Blog Mobgeek, nov. 2014. Disponível em: < http://mobgeek.com.br/blog/o-que-e- back-end>. Acesso em: 09 mai. 2015 FERREIRA, Carlos Eduardo. Pesquisa revela que há mais linhas de celular do que pessoas no mundo. Tecmundo, out. 2014. Disponível em: <http://www.tecmundo.com.br/pesquisa/64149-pesquisa-revela-ha-linhas-celular- que-pessoas-mundo.htm>. Acesso em: 04 mai. 2015. GUPTA, Abhishek Kumar. Challanges of mobile computing. In: National Conference on Challenges & Opportunities in Information Technology (COIT 2008), 2., 2008, Mandi Gobindgarh. 29 março 2008
  42. 42. 41 HADDAD, Renato. Saiba porque desenvolver aplicações para telefones celulares com .NET. Linha de Código. Disponível em: <http://www.linhadecodigo.com.br/artigo/171/saiba-porque-desenvolver-aplicacoes- para-telefones-celulares-com-net.aspx>. Acesso em: 04 mai.2015. JSON. Disponível em: <http://json.org/json-pt.html>. Acesso em: 23 mai. 2015. JOHNSON, Thienne M. Introdução à computação móvel. In:_____. Java para dispositivos móveis. [S.L]: Novatec, 2007. p. 20-24. MARTIN, Fernando. A história da plataforma mobile. Chanel 9. [S.L.] 2012. Disponível em: <http://channel9.msdn.com/posts/A-Histria-da-plataforma-Mobile>. Acesso em: 22 set. 2014. MICROSOFT by the numbers. Disponível em: <http://news.microsoft.com/bythenumbers/index.html>. Acesso em: 15 abr. 2015 MICROSOFT Celulares. Nokia Lumia 520 especificações. Disponível em: <http://www.microsoft.com/pt-br/celulares/celular/lumia520/especificacoes/>. Acesso em: 05 jun. 2015. MICROSOFT Developer Network. Guia de introdução ao Visual Studio. Disponível em: <https://msdn.microsoft.com/pt-br/library/ms165079.aspx>. Acesso em: 08 mai. 2015. MICROSOFT Developer Network. Introdução à linguagem C# e ao .NET Framework. Disponível em: <https://msdn.microsoft.com/pt-br/library/z1zx9t92.aspx>. Acesso em: 08 mai. 2015. MICROSOFT Developer Netword. LINQ (Consulta integrada à linguagem). Disponível em: <https://msdn.microsoft.com/pt-br/library/bb397926.aspx>. Acesso em: 23 mai. 2015. MONACO, Thiago; CARMO, Rodolpho Marques do. Desenvolvendo aplicações para Windows Phone. 1 ed. Rio de Janeiro: Brasport, 2012. 472 p. MURETA, Chad. Império dos apps: ganhe dinheiro, aproveite a vida e deixe a tecnologia trabalhar por você. 1. ed. São Paulo: Companhia Editora Nacional, 2013. 208 p.
  43. 43. 42 ORTIZ, Enrique. Serviços de Parse baseado em nuvem para aplicativos android. IBM developerWorks, dez. 2012. Disponível em: <http://www.ibm.com/developerworks/br/library/j-parse/>. Acesso em: 09 mai. 2015 PARSE. .Net + Xamarin Guide. Disponível em: <https://parse.com/docs/dotnet/guide>. Acesso em: 09 mai. 2015. ROSA, Guilherme Santa. Mas afinal, o que é um App? 17 mar. 2012. Disponível em: <http://blog.fabricadeaplicativos.com.br/2012/03/17/mas-afinal-o-que-e-um- app/> Acesso em: 27 set. 2014. TURBAN, Efraim; VOLONINO, Linda. Computação e comércio móvel. In:_____. Tecnologia da informação para gestão: em busca do melhor desempenho estratégico e operacional. 8 ed. Porto Alegre: Bookman, 2013. p. 189-216.

×