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

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

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

Uma Avaliação Crítica de Ferramantas de Analytics para aplicações Móveis

Uso da plataforma Ionic para Desenvolvimento de Aplicativo Móvel

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

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

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

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

Ângelo Lovatto Éderson Ferreira Taiane Ramos

Curso Online de E-commerce. Plano de Estudo

UNIVERSIDADE FEDERAL DE P ERNAMBUCO

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

GERADOR DE INTERFACES GRÁFICAS PARA IOS GABRIEL SEBASTIAN RAMIREZ JOYCE MARTINS

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS

PARTE I. Introdução ao Desenvolvimento para Dispositivos Móveis

ESTRATÉGIAS INTELIGENTES PARA DESENVOLVIMENTO DE APLICATIVOS MOBILE MULTIPLATAFORMA

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

Desenvolvimento de um aplicativo para o ensino de programação usando a plataforma Android. Vitor de Oliveira Gomes Orientador: Prof.

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

UNIVERSIDADE FEDERAL DEPERNAMBUCO

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.

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

UNIVERSIDADE FEDERAL PERNAMBUCO

Introdução ao Desenvolvimento para Dispositivos Móveis

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

Universidade Federal de Pernambuco. Construindo Fábricas de Jogos Para Dispositivos Móveis Multi-toque

TECNOLOGIAS DE DESENVOLVIMENTO DE APLICAÇÕES UTILIZANDO METEOR

RESULTADOS OBTIDOS CAPÍTULO

Fast Feedback: avaliando o atendimento ao cliente

CLOUD COMPUTING: O USO DA PLATAFORMA AWS E ARMAZENAMENTO NO AMAZON S3.

MAPEAMENTO COLABORATIVO DE EPIDEMIA

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

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

Universidade Federal da Bahia Instituto de Matemática Departamento de Ciência da Computação

Curso online de Fundamentos em Android. Plano de Estudo

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

TENDÊNCIAS NO DESENVOLVIMENTO DE APLICAÇÕES MOBILES

SISTEMA PARA TRANSMISSÃO DE VÍDEOS EM SERVIDORES XBMC

Plano de Trabalho Docente

Porte do Engine de Física ODE para a Plataforma Pocket PC

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

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

Universidade Federal de Pernambuco

Noções de sistemas de computação

Algo+: um app para o auxílio na aprendizagem de programação

Uma Linguagem de Domínio Específico para descrever redes de sensores na prototipagem de Instrumentos Musicais Digitais

PARCERIA TÉCNICA IDEAL

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

PROJETO DE UM MODELO DE UM CONVERSOR ANALÓGICO DIGITAL PARA SOC S

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

O que é o HTML5? Tags Canvas

RADAR DA CIDADE: UMA APLICAÇÃO MÓVEL PARA AUXILIAR NA REPORTAÇÃO DE PROBLEMAS DE INFRAESTRUTURA NA CIDADE DE SÃO LUÍS MA 1

SENSIBILIDADE À LOCALIZAÇÃO PARA APLICAÇÕES

IF Sudeste MG Notícias IF Sudeste MG News

Create once, deploy everywhere. Dossier de Imprensa. GeneXus X Evolution 2

10º ENTEC Encontro de Tecnologia: 28 de novembro a 3 de dezembro de 2016 ESTUDO VIRTUAL: AMBIENTE DE ENSINO E APRENDIZAGEM ONLINE

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

UM FRAMEWORK DE CONECTIVIDADE PARA APLICAÇÕES MÓVEIS EM JAVA ME

Aprendendo Braille: O Ensino do Sistema Braille com o uso do Tagarela

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

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

informação enviada (ex. Facebook) ou que a rede social utilize essa informação para sugerir locais de interesse próximos ao usuário (ex. Foursquare).

Ensino Técnico Integrado ao Médio FORMAÇÃO PROFISSIONAL. Plano de Trabalho Docente 2014

Conteúdo Programático JavaScript Web Developer

DESENVOLVIMENTO DE APLICATIVO PARA SMARTPHONE DESTINADO AO PROJETO GEOMÉTRICO DE ESTRADAS

Um Comparativo entre Ferramentas para o Desenvolvimento de Jogos Educativos Computacionais Rogério Paulo Marcon Júnior, Giani Petri

MERCADO DE TRABALHO DE TI E O IMPACTO DO ANGULAR 7

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

5 Infraestrutura de TI

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

Solução integrada de software livre e tecnologia RFID para gerenciamento de vagas de estacionamento

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

Conteúdo Programático

Copyri g h t 2013 OSIso f t, LLC. 1

PROTÓTIPO DE UM SISTEMA DE SERVIÇOS WAP PARA A BIBLIOTECA CENTRAL DA FURB

Documento de Projeto de Software

VISEDU: JOGO DE REALIDADADE AUMENTADA DE LETRAS COM CONTEÚDO DINÂMICO

Universidade Federal de Pernambuco

Desenvolvimento de Aplicações Distribuídas

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

UNIVERSIDADE FEDERAL DE PERNAMBUCO GRADUAÇÃO EM SISTEMAS DE INFORMAÇÃO CENTRO DE INFORMÁTICA

Desenvolvedor Android: Avançado. Plano de Estudo

Aplicações Móveis na medida do seu negócio

PROJETO SISTEMA DE CONSULTA A PAUTA DE AUDIÊNCIAS MOBILE - TRT14ª REGIÃO

TÉCNICO EM INFORMÁTICA

Centro de Informática Ciência da Computação Proposta de trabalho de Graduação. : Ana Cecília Martins Barbosa : Veronica Teichrieb

Oportunidades de trabalho em TI&Telecom Instituto Eldorado - Campinas

Teste como Serviço (TaaS) na Computação em Nuvem

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

U NIVERSIDADE F EDERAL DE P ERNAMBUCO

Estudo Qualitativo da Meta-Plataforma KNoT para IoT

SISTEMAS DE INFORMAÇÃO ARMANDO LINS CHAVES NETO AFSCOUT: APLICATIVO ESTATÍSTICO PARA FUTEBOL AMERICANO

A UTILIZAÇÃO DE APLICATIVOS PARA O APRENDIZADO DA LÍNGUA INGLESA

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

FACULDADE DE TECNOLOGIA SENAC GOIÁS Gestão de Tecnologia da Informação PROPOSTA TÉCNICA SISTEMAS OPERACIONAIS

AprendePalavras - Um Aplicativo para o Progresso Ortográfico

Transcrição:

Universidade Federal de Pernambuco Centro de Informática Graduação em Ciência da Computação Desenvolvimento de Aplicações Móveis Multiplataforma Utilizando Ionic 2 Bruno Dutra de Lemos Neto Proposta de Trabalho de Graduação Orientador: Fernando da Fonseca de Souza Recife Abril de 2017

Resumo Num cenário de TI realista, as aplicações tendem a nascer e morrer rapidamente, ao considerarmos o curto espaço de tempo em que empresas e desenvolvedores devem construir e publicar novas aplicações, nem sempre há disponibilidade para o aprendizado de linguagens de programação e frameworks necessários para a implementação de aplicações em cada sistema operacional. É nesse contexto que a metodologia de desenvolvimento multiplataforma pode ser a melhor solução, utilizando linguagens e padrões conhecidos para o desenvolvimento web, uma mesma implementação pode servir para várias plataformas diferentes, de forma que o conhecimento e o tempo necessário para a construção de tais aplicações sejam reduzidos. O objetivo deste trabalho é analisar o contexto atual de desenvolvimento multiplataforma de aplicações para dispositivos móveis, além de apresentar o framework Ionic 2, descrevendo recursos e funcionalidades que tem como finalidade reforçar as vantagens do desenvolvimento cross-platform e amenizar (ou sanar) as suas desvantagens em relação ao desenvolvimento nativo. Ao final do estudo, será desenvolvido um aplicativo que ilustrará os principais recursos do Ionic 2, onde será apresentado um protótipo de um aplicativo real, pensando no desafio enfrentado por desenvolvedores web em diversas empresas, focando principalmente nos recursos que reforçam as vantagens do framework e de sua arquitetura. Palavras-chave: Multiplataforma, Desenvolvimento Cross-Platform, Aplicações Móveis, Ionic 2, Desenvolvimento Web.

Sumário Introdução 4 Objetivos 6 Estrutura do Trabalho 7 Cronograma 8 Possíveis Avaliadores 9 Assinaturas 10 Referências Bibliográficas 11

Introdução Nos últimos anos, houve um grande crescimento no número de pessoas que adotaram plataformas móveis para o uso cotidiano. Smartphones e tablets se popularizaram mundialmente e viraram a grande tendência tecnológica dos últimos anos. Mostrando cada vez mais poder computacional, estes dispositivos por muitas vezes substituem os computadores pessoais na realização de algumas tarefas cotidianas. Porém esse fato já não novidade, afinal de contas, desde de 2015 já se estima que existem mais dispositivos móveis do que pessoas no planeta [1]. A popularização dos aparelhos portáteis fez surgir cada vez mais plataformas no mercado, trazendo consigo novos sistemas operacionais. Além disso, trouxe também novos paradigmas e desafios a serem encarados pelos desenvolvedores, que se viram na necessidade de adquirir conhecimento necessário para suprir rapidamente a demanda por aplicativos. Inicialmente cada dispositivo vinha com o seu sistema operacional próprio, felizmente, surgiram os sistemas operacionais uniformes, sendo implementados em grupos de dispositivos, reduzindo assim a granularidade dos aparelhos, sendo eventualmente reduzidos a praticamente dois sistemas dominantes, o Android e o ios [2]. Mesmo assim, cada um desses sistemas possui seus próprios frameworks, linguagens de programação e padrões de desenvolvimento. No cenário atual, é ainda mais demorado criar e manter aplicações para todos eles. No caso de uma empresa, é caro manter profissionais para lidar com cada um dos sistemas operacionais alvos de suas aplicações. Para resolver este problema, surgiu o que hoje é conhecido como frameworks híbridos, ou do inglês cross-frameworks, que são frameworks que reduzem o trabalho dos desenvolvedores e reaproveitam o mesmo código, ou pelo menos a maior parte dele, usando-o nas diferentes plataformas já estabelecidas no mercado. Nos frameworks híbridos são utilizados os mesmos padrões de desenvolvimento para a web. Linguagens como HTML, CSS e Javascript são amplamente utilizadas na construção de aplicações multiplataforma. Isso acaba sendo outra grande vantagem para os desenvolvedores, pois ao invés de terem que aprender uma nova linguagem de programação, baseiam-se em padrões já conhecidos e previamente utilizados, não é por acaso portanto que estes aplicativos híbridos já representam mais de 50% do mercado segundo a Gartner [3]. Entretanto, ainda existem certas desvantagens em relação ao desenvolvimento nativo, como por exemplo a performance e alguns elementos de interface do usuário que são restritos a cada sistema. Visando algumas destas desvantagens, um dos frameworks que vem ganhando bastante destaque entre a comunidade de desenvolvedores é o Ionic 2. Lançado no ano passado e sendo uma evolução do já inovador Ionic 1, este framework traz vários artifícios para quem desenvolve, dentre os principais a replicação bastante fidedigna dos elementos de interface, arquiteturas de desenvolvimento mais leves e APIs nativas, simulando quase que com perfeição as implementações dos sistemas originais [4]. Considerando então alguns dos recursos presentes no Ionic 2, aplicativos mais

complexos podem ser completamente desenvolvidos utilizando o framework, evitando então o desperdício de tempo na implementação dividida para cada sistema, sem que a performance para usuário seja perdida, mudando então a forma como os aplicativos venham a ser construídos ao longo do tempo. Evidentemente que para alguns grupos específicos de aplicação, o desenvolvimento nativo se mostra como a melhor solução, cabe ao desenvolvedor identificar o escopo e a finalidade de sua aplicação, decidindo assim qual a abordagem que será utilizada no desenvolvimento.

Objetivos O objetivo deste trabalho é analisar e descrever o cenário de desenvolvimento de aplicativos no contexto multiplataforma para dispositivos móveis, tendo como foco o framework Ionic 2. Serão analisadas as principais características e recursos disponíveis no framework, considerando vantagens e desvantagens de sua utilização, além de trazer uma análise de seus concorrentes, considerando tanto outros frameworks disponíveis como a própria metodologia de desenvolvimento nativo. Posteriormente, será desenvolvido um aplicativo que ilustrará os principais recursos do Ionic 2, destacando aqueles que reforçam as vantagens do framework e de sua arquitetura.

Estrutura do Trabalho O trabalho será composto pelos seguintes capítulos: Introdução - Introduzirá o tema, mostrando a motivação para execução do trabalho no contexto dos dispositivos móveis e detalhando os objetivos do estudo. A estrutura do trabalho será apresentada; Análise Sobre o Desenvolvimento Multiplataforma - Serão apresentados os fundamentos conceituais necessários para a execução do trabalho, além de uma análise sobre essa metodologia, listando vantagens e desvantagens em relação ao desenvolvimento nativo, trazendo dados atuais e projeções futuras sobre ambos; Análise do Framework Ionic 2 - Análise sobre a história, arquitetura e recursos do framework, trazendo também vantagens e desvantagens em relação a seus concorrentes, indicando também casos de uso onde o uso do framework pode ser maximizado com o intuito de trazer mais facilidades para o desenvolvedor. Será dado um foco maior para os recursos que serão utilizados a seguir no desenvolvimento do aplicativo; Caso de Estudo - Apresentará uma implementação de uma aplicação utilizando como base o Ionic 2, destacando elementos que trazem destaque ao framework, e justificam o seu uso para determinados escopos de problema. Conclusão - Será mostrado um breve resumo do estudo realizado. Também serão mostradas as limitações da aplicação desenvolvida e descritas sugestões de trabalhos futuros; Referências Bibliográficas - Listagem de todo o conteúdo bibliográfico utilizado durante a elaboração do trabalho.

Cronograma As atividades pretendem ser desenvolvidas de acordo com o cronograma abaixo. Atividade Abril Maio Junho Julho Revisão bibliográfica Pesquisa e análise referente ao desenvolvimento multiplataforma Descrição e análise sobre os recursos, vantagens e desvantagens do Ionic 2, Desenvolvimento da aplicação que ilustra os recursos do framework Elaboração do relatório final Preparação da defesa Defesa

Possíveis Avaliadores São possíveis avaliadores do trabalho a ser produzido conforme as especificações nesta proposta: Leopoldo Motta Teixeira (CIn/UFPE); Nivan Roberto Pereira Júnior (CIn/UFPE);

Assinaturas Fernando da Fonseca de Souza Orientador Bruno Dutra de Lemos Neto Aluno

Referências Bibliográficas [1] CONNECTED, More mobile devices in the world than people how many do you have? Disponível em <https://www.connected-uk.com/more-mobile-devices-in-the-world-than-people-how-ma ny-do-you-have/>. Acesso em 06/04/2017. [2] THE VERGE, 99.6 percent of new smartphones run Android or ios. Disponível em <http://www.theverge.com/2017/2/16/14634656/android-ios-market-share-blackberry-20 16>. Acesso em 10/04/2017. [3] INSIDE BLACKBERRY, The Surprising Winner of the HTML5 Versus Native Apps War. Disponível em <http://blogs.blackberry.com/2015/01/surprising-winner-of-html5-apps-war/>. Acesso em 10/04/2017. [4] INFOQ, Ionic 2 Brings Performance Improvements and New Native Plugin System. Disponível em <https://www.infoq.com/news/2017/01/ionic-2>. Acesso em 11/09/2015.