DESENVOLVENDO APLICAÇÕES MULTIPLATAFORMA PARA DISPOSITIVOS MÓVEIS UTILIZANDO IONIC E PHONEGAP

Documentos relacionados
Curso online de Aplicações. Híbridas. Plano de Estudo

DESENVOLVIMENTO DE APLICATIVOS HÍBRIDOS BENEFÍCIOS E PROBLEMAS ENCONTRADOS NA UTILIZAÇÃO DESSAS TECNOLOGIAS

Introdução à Programação para Dispositivos Móveis

Faculdade de Tecnologia "Dep. Júlio Julinho Marcondes de Moura" RELATÓRIO FINAL DE INICIAÇÃO CIENTÍFICA

ESTRATÉGIAS INTELIGENTES PARA DESENVOLVIMENTO DE APLICATIVOS MOBILE MULTIPLATAFORMA

Uso da plataforma Ionic para Desenvolvimento de Aplicativo Móvel

Ângelo Lovatto Éderson Ferreira Taiane Ramos

Apps na prática 1 Aviso Legal: Este material foi produzido e desenvolvido pela Fábrica de Aplicativos S.A para o curso presencial e online.

Primeiros Passos para o Desenvolvimento de Aplicações Móveis na Plataforma Android. Odette Mestrinho Christian Reis 1

Estratégias Móveis. O que toda empresa precisa saber

Aplicações Mobile Híbridas: Um Estudo de Caso do Framework Ionic para Construção de um Diário de Classe

Desenvolvimento de Aplicações Móveis Multiplataforma Utilizando Ionic 2

Curso Online de E-commerce. Plano de Estudo

Módulo I - Introdução. Faculdade Christus Sistemas de Informação 24/09/2010. Carlos Eugênio Torres Engenheiro de Informática

FURBMOBILE: UMA APLICAÇÃO PARA VISUALIZAÇÃO E ACOMPANHAMENTO DA MATRIZ CURRICULAR

De Olho na Pista. Documento de Arquitetura. De Olho na Pista Documento de Arquitetura Data: 23/03/2013. AJA Software

Curso online de. Formação em Front-End. Plano de Estudo

Introdução ao Desenvolvimento para Dispositivos Móveis

ANÁLISE COMPARATIVA DE FERRAMENTAS DE DESENVOLVIMENTO DE APLICATIVOS MÓVEIS MULTIPLATAFORMA

Requisitos do sistema para o Qlik Sense. Qlik Sense February 2018 Copyright QlikTech International AB. Todos os direitos reservados.

Fast Feedback: avaliando o atendimento ao cliente

RELATÓRIO PARCIAL DE INICIAÇÃO CIENTÍFICA CAMPUS PIRACICABA MODELO DE RELATÓRIO DE INICIAÇÃO CIENTÍFICA

Frameworks funcionais para JSF que proporciona o desenvolvimento de aplicações computacionais WEB

VANTAGENS E DESVANTAGENS DA UTILIZAÇÃO DO IONIC FRAMEWORK PARA O DESENVOLVIMENTO DE APLICATIVOS MÓVEIS

Exportação para dispositivos móveis

Desenvolvimento de Aplicações Móveis com HTML5

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS

APP WORK - SISTEMA DE GERENCIAMENTO DE HORÁRIO PONTO E GEOLOCALIZAÇÃO 1 APP WORK - POINT AND GEOLOCALIZATION SCHEME MANAGEMENT SYSTEM

SEMINÁRIOS INTEGRADOS EM ADS PROGRAMAÇÃO WEB E MOBILE

O CENÁRIO DE TECNOLOGIAS CROSS-PLATFORM PARA APLICATIVOS MÓVEIS

Desenvolvimento de Aplicações Distribuídas

MAPEAMENTO COLABORATIVO DE EPIDEMIA

Apresentação da Disciplina e Fundamentos da Computação Móvel

ANEXO 2. TÍTULO DO PROJETO: Abordagens multiplataforma para sistemas web responsivo com utilização de cache

O que é o HTML5? Tags Canvas

MAPEAMENTO OBJETO RELACIONAL COM HIBERNATE EM APLICAÇÕES JAVA WEB

Automação de Testes para Aplicações Mobile na DEPAE

Configuração do Apache Cordova Lab. 13. Prof. Bruno C. Vani

Serviços Digitais Públicos - Maximização de entregas em tempo real integradas a mobilidade do Cidadão

Enviar imagens de uma câmera para um iphone (PowerShot SX60 HS)

INTRODUÇÃO A DESENVOLVIMENTO DE APLICAÇÕES HÍBRIDAS

ESTUDO DE PLATAFORMAS PARA A CONSTRUÇÃO DE APLICAÇÕES MÓVEIS. Gabriel de Biasi¹; Nilton Cézar de Paula²

Linguagem de Programação II

Curso online de Fundamentos em Android. Plano de Estudo

Programação para dispositivos móveis. Cassio Diego cassiodiego.com/m

DESENVOLVIMENTO DE UMA APLICAÇÃO IOS PARA MONITORAMENTO DE SUBESTAÇÕES DE ENERGIA ELÉTRICA 1. Daniel Lucas Huber 2, Paulo Sausen 3.

TECNOLOGIAS DE DESENVOLVIMENTO DE APLICAÇÕES UTILIZANDO METEOR

CLIPPING SERVICE. Clipping Service 2014 Todos direitos reservados

Programação para Dispositivos Móveis

UNIVERSIDADE ESTADUAL DE PONTA GROSSA SETOR DE CIÊNCIAS AGRÁRIAS E DE TECNOLOGIA DEPARTAMENTO DE INFORMÁTICA

Escrito por TQS Admin Ter, 27 de Março de :47 - Última revisão Ter, 27 de Março de 2012

Aula 17 Introdução ao jquery

Introdução ao Desenvolvimento de Aplicativos Android

Introdução a Web. Programação para a Internet. Prof. Vilson Heck Junior

TENDÊNCIAS NO DESENVOLVIMENTO DE APLICAÇÕES MOBILES

Dispositivos Móveis. Visão geral (História) e tecnologia aplicada para dispositivos móveis.

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS APLICATIVOS HÍBRIDOS. Prof. Angelo Augusto Frozza, M.Sc.

Programação para Dispositivos Móveis

IF Sudeste MG Notícias IF Sudeste MG News

Vitrine de Projetos Sociais: aplicação colaborativa baseada em React Native e Firebase

Requisitos do sistema para o Qlik Sense. Qlik Sense September 2017 Copyright QlikTech International AB. Todos os direitos reservados.

Histórico de alterações

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS - APLICATIVOS HÍBRIDOS. Prof. Angelo Augusto Frozza, M.Sc.

Sistemas de Informação (SI) Infraestrutra de Tecnologia da Informação (TI): Software

Introdução ao Desenvolvimento de

Conteúdo Programático JavaScript Web Developer

Tutorial da ferramenta de prototipação Pencil Project (Versão resumida) Prof. Moacyr Franco Neto


MobIES: Aplicativo Integrado de Serviços para Instituições de Ensino Superior

SharePoint Online. Pesquisar Encontre Sites, Pessoas ou Arquivos. Criar um site ou postagem de notícias

Alura Ensino Online. Rua Vergueiro, 3185, 8º andar, São Paulo, SP

DESENVOLVIMENTO ÁGIL DE APLICATIVOS IOS E ANDROID COM IONIC 2 PARA DESENVOLVEDORES.

TEMWIFI NO TURISMO

GASTRONOMIA

Documento de Projeto de Software

PARCERIA TÉCNICA IDEAL

Aula 05. Infraestrutura de TI: hardware e software Pearson. Todos os direitos reservados.

DESENVOLVIMENTO DE UM APLICATIVO MÓVEL E WEB PARA GERENCIAMENTO DE PEDIDOS DE DELIVERY, ENTREGAS E PAGAMENTOS

APRESENTAÇÃO. Página: 1

DESENVOLVIMENTO MÓVEL HÍBRIDO HYBRID MOBILE DEVELOPMENT RESUMO

Dreamweaver CC_15x21.indd 1 06/04/ :04:22


Descubra o Chromebook. Configure o seu Chromebook. Trabalhe com seu Chromebook

Figura 1 QR Code para o download do Cata Ciência.

AULA 1 INTRODUÇÃO AO JAVA

Um esquema de nomes para localização de fontes de informação na Web, esse esquema chama-se URI.

1.5 PROGRAMAÇÃO DE JOGOS EM AMBIENTE DE REA LIDADE AUMENTADA AMBIENTES INTEGRADOS DE DESENVOLVIMENTO DE JOGOS 19

Google smartphones tablets

Desenvolvendo aplicações Java

Desenvolvimento de um aplicativo na plataforma Android para realização de fichamento bibliográfico em dispositivos móveis: resultados iniciais

Desenvolvimento Web. Introdução Geral. Prof. Vicente Paulo de Camargo

IDES E PROGRAMAÇÃO. Prof. Dr. Cláudio Fabiano Motta Toledo PAE: Maurício A Dias

Enviar imagens de uma câmera para um iphone. PowerShot G1 X Mark II, PowerShot SX600 HS, PowerShot N100, PowerShot SX700 HS, PowerShot ELPH 340 HS

Requisitos do sistema para o Qlik Sense. Qlik Sense 3.2 Copyright QlikTech International AB. Todos os direitos reservados.

Desenvolvimento Web II

HTML 5, UM ESTUDO SOBRE SEUS NOVOS RECURSOS

Desenvolvimento de Aplicações para Educação à Distância: O Ambiente Virtual de Aprendizagem SOLAR

Técnico em Informática. Web JavaScript. Profª Ana Paula Mandelli

Transcrição:

DESENVOLVENDO APLICAÇÕES MULTIPLATAFORMA PARA DISPOSITIVOS MÓVEIS UTILIZANDO IONIC E PHONEGAP Luiz Carlos Do Nascimento Junior 1, Tiago Piperno Bonetti 1 1 Universidade Paranaense (Unipar) Paranavaí PR Brasil luizcarlos.junior93@gmail.com, bonetti@unipar.br Resumo. O presente artigo aborda o desenvolvimento multiplataforma, utilizando Ionic e PhoneGap, para verificar a eficiência de aplicações híbridas, elaboradas para serem executadas em várias plataformas móveis. Por meio de uma análise comparativa de uma aplicação desenvolvida utilizando o Ionic e PhoneGap e instalada em três sistemas operacionais móveis: Android, ios e Windows Phone, foi comprovado que essas aplicações apresentam a mesma eficiência em todas as plataformas submetidas, confirmando, assim, sua viável utilização. 1. Introdução É evidente o crescimento da adoção dos dispositivos móveis no cotidiano da população mundial. Esses dispositivos inteligentes estão mudando não só a forma como nos comunicamos, mas também a forma como estamos vivendo. Isso porque esses aparelhos permitem que sejam instaladas aplicações que garantem que qualquer pessoa consiga realizar uma compra, uma transferência bancária ou até mesmo exercer uma atividade profissional sem precisar deslocar-se. O desenvolvimento dessas aplicações, no entanto, não é tarefa fácil. O mercado mobile está dividido entre três sistemas operacionais: Android, IOS e Windows Phone, onde cada um possui características e arquiteturas distintas, e o desenvolvimento amplamente difundido para atender essas plataformas é utilizar a linguagem nativa e desenvolver uma aplicação específica para cada sistema operacional [Silva 2015]. Isso acaba aumentando muito o tempo e o custo para desenvolver tal aplicação. Para resolver esse problema, as tecnologias que permitem o desenvolvimento multiplataforma possibilitam desenvolver uma única aplicação utilizando o HTML5 e submeter esse aplicativo às mais diversas plataformas móveis. Este artigo discorre sobre uma investigação científica a respeito da eficiência de aplicações híbridas, desenvolvidas utilizando os dois principais frameworks multiplataforma: Phonegap e Ionic. 2. Metodologia Para a construção deste artigo foi realizado uma extensa revisão bibliográfica com base em livros, monografias, artigos e sites. Os resultados foram obtidos por intermédio de uma análise comparativa do comportamento de uma aplicação híbrida nas seguintes plataformas móveis: Android, ios e Windows Phone. Essa aplicação foi desenvolvida através da utilização dos frameworks: Ionic e PhoneGap.

3. Desenvolvimento 3.1. Tipos de Aplicações A respeito do desenvolvimento móvel, devemos, primeiramente, entender as características, as vantagens e as desvantagens dos diferentes tipos de aplicações móveis que podemos desenvolver, para podermos adotar o tipo que melhor se enquadra nas nossas necessidades. 3.1.1. Aplicação Nativa Aplicativos nativos são aplicações comumente encontradas em lojas de aplicativos. São normalmente desenvolvidas utilizando linguagens de programação de nível superior, como o Java para o Android, Objective-C para ios, ou C# para Windows Phone [da Silva et al. 2014]. Uma aplicação nativa é aquela que foi desenvolvida utilizando ferramentas e linguagem específica de uma determinada plataforma, propiciando acesso ideal às funcionalidades do dispositivo, como: câmera, acelerômetro, GPS, bússola etc. As aplicações desenvolvidas em linguagem nativa do sistema possuem um melhor desempenho, pois elas são elaboradas especificamente para uma plataforma, o que torna inviável sua execução em outro sistema operacional móvel. 3.1.2. Web App As Web Apps são aplicações desenvolvidas utilizando tecnologias web como: HTML5, CSS e JavaScript, especificamente desenhadas para se adaptar a dispositivos com telas menores. A portabilidade é sua maior vantagem, pois são executadas em qualquer dispositivo através do seu navegador, dessa forma ela pode rodar em qualquer plataforma. Por outro lado, não é possível ter acesso a todos os recursos e funcionalidades do aparelho, elas não podem ser disponibilizadas nas lojas de aplicativos e, por se tratar de uma aplicação web, não funcionam em modo off-line. 3.1.3. Aplicação Híbrida Assim como as aplicações nativas, os aplicativos híbridos são executados dentro de um componente nativo do dispositivo. Esses aplicativos, tipicamente, envolvem o conteúdo HTML dentro de uma espécie de navegador, funcionando em tela cheia, sem a barra de endereço visível ou outras funcionalidades embutidas do navegador [da Silva et al. 2014]. As aplicações híbridas possuem características tanto de web apps quanto de aplicação nativa, uma vez que são desenvolvidas em HTML5 e CSS e, fazendo uso da linguagem JavaScript como ponte de comunicação com o sistema, conseguem ter acesso nativo às funcionalidades específicas do aparelho. Elas são instaladas no dispositivo, assim, podem ser disponibilizadas nas lojas de aplicativos e, geralmente, não precisam de conexão com internet para funcionarem.

A Figura 1 apresenta um comparativo entre as diferentes formas de desenvolvimento de aplicações móveis, demonstrando em quais quesitos cada tipo de aplicação oferece suporte. Aplicações web apps possuem acesso parcial aos recursos do dispositivo, por exemplo, não é possível utilizar a câmera e o GPS dentro de uma aplicação desse tipo. Já aplicações nativas e hibridas possuem acesso a todos os recursos disponíveis no aparelho. Figura 1. Comparativo dos diferentes tipos de aplicações (Fonte: Prezotto and Boniati 2014 ). Aplicações nativas e híbridas podem ser disponibilizadas nas lojas de aplicativos, uma vez que elas ficam instaladas no aparelho, ao contrário de uma web app que nada mais é que um site desenvolvido para um dispositivo móvel. Somente aplicações nativas são desenvolvidas para uma plataforma específica, web app e aplicações híbridas, em geral, independem da plataforma. 3.2. Frameworks Multiplataforma Segundo Freire e Ribeiro (2013), um frameworks multiplataforma pode ser definido como um conjunto de códigos-fontes, biblioteca e ferramentas que oferece suporte a mais de uma plataforma. É evidente que cada sistema operacional móvel é desenvolvido em uma linguagem de programação diferente, por isso um framework multiplataforma também deve dispor de uma linguagem unificadora, ou seja, a mesma para todas as plataformas. A linguagem unificadora mais usada, ao se tratar de desenvolvimento multiplataforma, é o HTML5 que, de acordo com Silva (2015), não é somente a quinta versão do HTML (Hypertext Markup Language), mas também um termo usado para expressar a utilização em conjunto das tecnologias web: HTML propriamente dito, CSS e Javascript. É exatamente esse conjunto de tecnologias web que é utilizado para definir o uso de HTML5 no desenvolvimento de aplicações móveis multiplataforma. As duas tecnologias gratuitas mais utilizadas para desenvolvimento de aplicativos móveis são: Ionic e o PhoneGap. As duas utilizam o HTML5 como linguagem unificadora para criarem uma aplicação híbrida.

O PhoneGap, também conhecido como Cordova, provém de um container web no qual você constrói suas aplicações multiplataforma usando apenas o básico da web: HTML5, JavaScript e CSS. Ele provém de APIs JavaScript para que o desenvolvedor tenha acesso aos recursos de hardware do dispositivo móvel e exige apenas que os dispositivos tenham browsers que suportem esses recursos básicos e padrões da web [Wahlbrinck and Boniati 2014]. Dessa forma, o PhoneGap auxilia no acesso aos recursos nativos, como: câmera, contatos e GPS do dispositivo. Já o Ionic possui componentes de interface prontos para serem adicionadas na aplicação. Construído em cima do PhoneGap e do AngularJs (um framework JavaScript), o Ionic une o que tem de melhor dessas duas tecnologias: o conceito de Single Page Application: modelo de desenvolvimento de aplicações web e mobile, onde a aplicação estará contida toda ou quase toda no lado do cliente, ou seja, no navegador, herdado do AngularJs, e a possibilidade do acesso nativo, herdado do PhoneGap. 3.3. Estudo de caso Por meio da utilização das tecnologias Ionic e PhoneGap, foi elaborada uma aplicação híbrida que permite a manipulação de uma lista de tarefas, onde é possível adicionar, editar e apagar uma tarefa armazenada no banco de dados próprio do dispositivo móvel. Essa aplicação foi submetida a um serviço online do PhoneGap, chamado PhoneGap Build, ferramenta que possibilita a compilação do nosso aplicativo para diversas plataformas, entre elas: ios, Android e Windows Phone. Isso quer dizer que mandamos nossa aplicação em HTML5 e recebemos de volta um app nativo de cada plataforma, um arquivo pronto para ser instalado em um dispositivo real. Porém, no caso do ios, por ser uma plataforma fechada, para obter esse arquivo, é necessário fornecer uma chave de desenvolvedor. Para adquiri-la é indispensável possuir uma máquina Mac Os e realizar o pagamento de US$ 99 dólares, a fim de tornarse desenvolvedor da plataforma. Esses fatores inviabilizaram que aplicação desenvolvida pudesse ser instalada em um dispositivo real, no caso, um iphone. A solução encontrada foi utilizar outra tecnologia derivada do Phonegap: o PhoneGap Developer App. Trata-se de um aplicativo móvel disponível gratuitamente que, uma vez instalado no aparelho, torna possível linkar o aplicativo do Phonegap com o projeto presente na máquina, através de uma rede wi-fi. Dessa forma, é factível prever como será o comportamento da aplicação quando ela for instalada, sem precisar instalar de fato o aplicativo no iphone e realizar várias outras configurações. Portanto, para analisar o comportamento do aplicativo desenvolvido na plataforma ios versão 9, foi utilizado o PhoneGap Developer App. Nos Sistemas operacionais Android, na versão 6.0 Marshmallow, e Windows 10 Mobile, a aplicação foi instalada por intermédio dos arquivos fornecidos pelo PhoneGap Bluid, com a finalidade de analisar o comportamento da aplicação, em busca de encontrar alguma divergência de interface ou de performance dessa aplicação nas plataformas citadas anteriormente. Por meio da análise comparativa, ficou comprovado que a aplicação desenvolvida não apresentou nenhuma divergência em relação aos componentes visuais, que apresen-

taram visualmente a mesma interface nas três plataformas estudadas. Havia uma possibilidade do aplicativo não funcionar corretamente no sistema operacional Windows 10 Mobile, uma vez que a framework Ionic ainda não oficializou o desenvolvimento para a plataforma, entretanto, a aplicação desenvolvida funcionou corretamente sem qualquer lentidão ou problemas na manipulação de dados, em todos os sistemas móveis testados. 4. Considerações Finais O desenvolvimento de aplicação híbrida tem mostrado ser uma boa alternativa para os desenvolvedores em relação ao desenvolvimento de aplicativos multiplataforma. Isso é possível devido às tecnologias como Ionic, associada ao PhoneGap, que abstraem as complexidades do desenvolvimento, garantindo que as aplicações híbridas não tenham problemas de performance quando executadas em diferentes plataformas. Dessa forma, a utilização das aplicações híbridas ao invés aplicações nativas, além de reduzir os custos com o desenvolvimento, é uma ótima opção para elaboração de aplicações móveis, pois apresenta basicamente as mesmas características das nativas, mas com a grande vantagem de desenvolver uma aplicação utilizando somente uma única linguagem de programação para vários sistemas operacionais móveis. Referências da Silva, L. L. B., Pires, D. F., and Neto, S. C. (2014). Desenvolvimento de aplicações para dispositivos móveis: Tipos e exemplo de aplicação na plataforma ios. II Workshop de Iniciação Cientíıfica em Sistemas de Informação. Goiânia, 2015. Freire, P. J. and Ribeiro, R. (2013). Revisão de literatura de frameworks de desenvolvimento móvel multiplataforma. 13 o CAPSI/2013. Disponível em www.copelabs.ulusofona.pt/scicommons/index.php/attachments/single/509 acesso em: 31 maio de 2016. Prezotto, E. D. and Boniati, B. B. (2014). Estudo de frameworks multiplataforma para desenvolvimento de aplicações mobile híbridas. Encontro Anual de Tecnologia da Informação e Semana Acadêmica de Tecnologia da Informação-IFRS. Disponível em: www.eati.info/eati/2014/assets/anais/artigo8.pdf acessado em: 12 abril 2016. Silva, J. (2015). Desenvolvendo apps multiplataforma para dispositivos móveis com html5. InfoQ.com. Disponível em: www.infoq.com/br/presentations/desenvolvendoapps-multiplataforma acesso em: 01 maio 2016. Wahlbrinck, K. A. and Boniati, B. B. (2014). Análise de performance de frameworks de desenvolvimento mobile multiplataforma. - Encontro Anual de Tecnologia da Informação e Semana Acadêmica de Tecnologia da Informação-Universidade Federal de Santa Maria (UFSM). Disponível em www.eati.info/eati/2014/assets/anais/artigo52.pdf acesso em 02 maio de 2016.