43
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

TCC - Desenvolvimento de Aplicativo para Windows Phone

Embed Size (px)

Citation preview

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

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

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

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.

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.

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

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

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

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

9

5.7 TECNOLOGIAS UTILIZADAS ............................................................................ 34

5.8 ESBOÇO DE INTERFACES .............................................................................. 36

6 CONSIDERAÇÕES FINAIS .................................................................................. 39

REFERÊNCIAS ......................................................................................................... 40

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.

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.

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.

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,

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.

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.

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.

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

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.

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

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.

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

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.

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

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.

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

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

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)

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.

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.

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

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

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.

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.

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.

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.

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.

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.

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.

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.

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

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.

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.