Estudo Comparativo de ferramentas online para desenvolvimento de aplicativos Android Wellington Gonçalves Ferreira Brito 1, Cleiane Gonçalves Oliveira 2 Instituto Federal do Norte e Minas Gerais Campus Januária Fazenda São Geraldo s/n Bairro Bom Jardim. were.02@hotmail.com, cleiane.oliveira@ifnmg.edu.br Abstract. There are several ways to create applications for mobile devices, free online tools can replace the hiring of companies specialized in development because with them anyone has the ability to create mobile applications. This study presents some characteristics of Appgeyser tools, Applications Factory, AppInventor, free to allow this type of development. Resumo. Existem diversas maneiras de se criar aplicativos para dispositivos móveis. Ferramentas online gratuitas podem substituir a contratação de empresas especializadas em desenvolvimento, pois com elas qualquer pessoa tem a capacidade de criar aplicativos móveis. Este estudo apresenta algumas características das ferramentas Appgeyser, Fábrica de Aplicativos, AppInventor, gratuitas, que permitem esse tipo de desenvolvimento. 1. Introdução O desenvolvimento de aplicativos está em uma fase de evolução constante e com isso promete grandes avanços na área tecnológica (Silveira,2010). Prestadoras de serviços como o de transporte particular (Uber), que funciona através de um aplicativo ou até mesmo para o cardápio de um restaurante podem servir de exemplo. Entende-se que o profissional da área de programação procura estudar e aplicar novas técnicas em busca de resultados melhores em relação ao desempenho (execução) e visual (design) na criação de softwares e aplicativos pois desde a graduação ele é incentivado a realizar tais atividades (Silveira 2010). Ressaltando a dificuldade em desenvolver aplicativos por usuários finais devido à complexidade que existe ao trabalhar com linguagens de programação (Tancicleide, 2014), têm surgido ferramentas online que permitem usuários com pouco conhecimento em programação e desenvolvimento criar aplicativos sem ter que lidar diretamente com codificação. Este estudo tem o objetivo apresentar o comparativo entre três ferramentas de desenvolvimento de aplicativos online no intuito de colaborar na escolha de qual 1 Cursando o 5 período do Curso de Tecnologia em Análise e Desenvolvimento de Sistemas Campus Januária 2 Mestre em Ciência da Computação, Docente do IFNMG Campus Januária
ferramenta irá atender às necessidades do usuário de acordo com seu conhecimento e objetivo. 2. Ferramentas de desenvolvimento de aplicativos A seguir são descritas Appgeyser, Fábrica de Aplicativos, e AppInventor que oferecem recursos para a criação de aplicativos online. Com boa parte de seus recursos gratuitos é possível desenvolver aplicações móveis para diversas finalidades. O Appgeyser agiliza o processo de criação de um aplicativo móvel. Têm à disposição diversos modelos ou templates de aplicativos já existentes como por exemplo: chats, feed de notícias de sites da web entre outros onde o usuário tem apenas o trabalho de editar algumas características, como título, cores de plano de fundo, entre demais informações. A Fábrica de Aplicativos possui uma quantidade maior de funcionalidades ou abas de conteúdo para compor o desenvolvimento de aplicativos. Permite mais possibilidades para criação de aplicativos porém algumas configurações não são disponíveis de forma gratuita: o site apresenta planos com pagamentos mensal, semestral ou anual liberando acesso a mais funcionalidades e privilégios. O Mit AppInventor se destaca pela diversidade de funcionalidades e o modo de editá-las. Conhecimento básico em lógica de programação e alguns conceitos afins são importantes. O modo de configuração ilustrado na Imagem 4 funciona através de blocos de comando arrastáveis, algo correspondente ao código do aplicativo caso ele fosse desenvolvido por profissionais da área de programação. 3. Métricas de comparação utilizadas As métricas de avaliação utilizadas neste trabalho foram: a usabilidade em aprender a usar a ferramenta, os recursos para desenvolvimento e o método de compartilhamento das aplicações desenvolvidas. 3.1 Usabilidade Existem cinco parâmetros para mensurar a usabilidade, conceitos cruciais para que qualquer software ou aplicativo se torne atrativo para o usuário final (Carvalho, sem ano), abaixo eles são explicados de forma simplificada e contextualizada: 3.1.1 Facilidade de aprendizagem Independente da ferramenta, o usuário precisa ter um conhecimento médio ou avançado sobre navegação na internet. Define-se dois valores de avaliação para este critério: simples ou complexo. 3.1.2 Eficiência de uso O critério eficiência não foi avaliado de forma separada pois foi observado que todas as ferramentas cumprem com eficiência o que propõe: construção de aplicativos em tempo hábil. 3.1.3 Facilidade de memorização A memorização de passos para conseguir realizar alguma tarefa dentro de cada ferramenta é muito importante. Foi avaliado como simples ou complexa.
3.1.4 Prevenção de erros Todas as ferramentas apresentam bons resultados em relação ao critério de prevenção de erros: não é possível que o usuário construa um aplicativo com recursos incompatíveis ou que limitem o funcionamento do produto final. A ferramenta AppInventor por exemplo, apresenta interface de edição de blocos (Imagem 1) permitindo a visualização de falta de blocos ou algo errado. Não é possível finalizar o aplicativo sem correção da falha. Imagem 1. Ferramenta Mit AppInventor. Modo de edição em blocos, toda a parte lógica (funcional do aplicativo) é necessária ser tratada nesse modo. Mit AppInventor Disponível em: http://appinventor.mit.edu/explore 3.1.5 Satisfação do usuário Devido às restrições existentes cada ferramenta pode atender aos usuários de maneira pouco eficiente por tanto se faz necessário definir perfis de usuários para cada situação. Foi considerado Comum o usuário que precisa de um aplicativo desenvolvido em pouco tempo e não necessita de funcionalidades complexas. Por exemplo: donos de pequenos negócios que desejam a simples divulgação de seus produtos. Foi considerado Específico o usuário com projeto complexo ou não mas possui um prazo maior para o desenvolvimento e que tenha a necessidade de trabalhar com recursos de hardware como sensores, gps, câmera, gravador de áudio por exemplo. 3.2 Recursos para desenvolvimento A seguir será apresentado as características dos recursos e como foram analisadas além dos requisitos de hardware e software exigidos para executar as ferramentas deste estudo. 3.2.1 Uso de Templates Algumas ferramentas disponibilizam layouts ou templates : estruturas prontas semelhantes a aplicações já existentes seguindo temas de jogos, chats, listas prédefinidas para a inserção de conteúdo, feed de notícias de redes sociais; criação de galeria de fotos, dentre outros. Como avaliação foi levado em conta a possibilidade de
alterar e personalizar cada template e também a variedade disponível em cada ferramenta. 3.2.2 Requisitos de hardware A execução de cada ferramenta não exige alto poder de processamento do computador que será usado. Configurações básicas semelhantes à de computadores pessoais com 2 Giga bytes de memória Ram, processador Intel Atom de 1,8 ghz equivalente são suficientes. Essa configuração é avaliada como requisitos básicos. Em ressalva, a ferramenta AppInventor disponibiliza um emulador de dispositivo android para realizar testes com os aplicativos em desenvolvimento que necessita mais poder de processamento do computador. Os requisitos de hardware foram avaliados em básicos e avançados. 3.3 Método de compartilhamento As ferramentas disponibilizam o compartilhamento do aplicativo pronto mas cada uma adota uma forma diferente, seja por meio de um arquivo nativo da plataforma android (.apk.) ou por meio de links para download. 3.3.1 Geração de arquivo.apk Para a execução de um aplicativo android realiza-se a instalação um arquivo com extensão do tipo.apk. Faz-se uma analogia aos arquivos com extensão do tipo.exe da plataforma desktop da Microsoft. Nesse arquivo se encontra o resultado final do projeto do aplicativo. Dentre as ferramentas algumas não disponibilizam esse arquivo e sim links diretos para download. Vale ressaltar que a Fábrica de aplicativos entrega um aplicativo feito na linguagem de marcação Html 5, permitindo a instalação e execução em qualquer plataforma de dispositivo móvel atual. O método de avaliação nesse quesito leva em consideração a possibilidade de ter ou não acesso ao arquivo com extensão do tipo.apk. 3.3.2 Disponibilização de link O compartilhamento do link foi considerado uma vantagem, pois facilita o acesso ao aplicativo diretamente do dispositivo que será utilizado. Uma vez que a publicação na loja oficial do Google exige algumas configurações extras além de cobrar uma taxa para desenvolvedores publicarem. A Fábrica de Aplicativos e Appgeyser são ferramentas que proveem um link para download e compartilhamento após o término do projeto. 4. Resultados A tabela 1 contém características importantes no comparativo realizado. Todas influenciam de forma direta o resultado final de um aplicativo. Mit AppInventor se destaca por ser a ferramenta mais completa em relação a todo o processo de desenvolvimento. Em contra partida se faz necessário um pouco mais de tempo e compreensão das funcionalidades dessa ferramenta. A Fábrica de aplicativos apresenta características que tornam a criação de aplicativo mais limitada com poucas opções de funcionalidades e layouts além da dificuldade no compartilhamento, entretanto isso ocorre apenas em sua versão gratuita de desenvolvimento. Tabela 1: Usabilidade
Ferramenta Facilidade de aprendizagem Facilidade de memorização Satisfação do usuário Fábrica de Aplicativos Simples Simples Atende ao usuário Comum Appgeyser Simples Simples Atende ao usuário Comum Mit App Inventor Complexa Complexa Atende aos usuários Comum e Específico Na tabela 2 são apresentados dados sobre às restrições de cada ferramenta em relação às funcionalidades e layouts. A tabela 3 mostra a relação do modo de compartilhamento de cada ferramenta. Ferramenta Fábrica de Aplicativos Appgeyser Mit App Inventor Tabela 2: Recursos para desenvolvimento Uso de Templates Não é possível alterar Não é possível alterar É possível alterar Tipos de Templates Sem categorização, cerca de 25 opções de Abas de conteúdo. Divididos em 4 categorias: Popular, Web, Business e Media. Os templates são criados pelos usuários Requisitos de hardware Básicos Básicos Básicos e Avançados Ferramenta Tabela 3: Método de compartilhamento Disponibilização do apk Disponibilização de link Fábrica de Aplicativos Não disponibiliza Disponibiliza Appgeyser Disponibiliza Disponibiliza Mit App Inventor Disponibiliza Não disponibiliza Em relação à interface e aos recursos de desenvolvimento, as ferramentas possuem uma grande quantidade de restrições quanto ao conteúdo disponibilizado para o desenvolvimento. Com os usuários já definidos é possível citar situações onde o uso de cada ferramenta se torna mais viável. O uso da Fábrica de aplicativos se torna interessante quando houver a necessidade de um aplicativo com um visual profissional e com objetivo apenas de divulgação de material midiático como imagens ou informações de empreendimentos como bares ou pequenos restaurantes.
A ferramenta Appgeyser pode ser empregada em situações onde o visual não será o fator de sucesso do aplicativo ainda que seja possível editar algumas características. Aplicativos para contextos de entretenimento por exemplo, podem ser desenvolvidos com esta ferramenta. O AppInventor se aplica a qualquer contexto, só é preciso levar em consideração que, para lançar mão dessa ferramenta, é necessário tempo e esforço para obter um bom resultado pois a edição de alguns recursos exigem buscas alternativas em sua documentação para auxilio no momento desenvolvimento. 5 Conclusão As ferramentas estudadas, de fato permitem criar aplicativos obtendo resultados satisfatórios mas com algumas limitações. É necessário analisar o contexto do usuário e o que cada ferramenta tem para oferecer para que seja viável o desenvolvimento. Os resultados apresentados nesse estudo facilitam a escolha do usuário em relação a três ferramentas online que permitem a construção de aplicativos com recursos diferenciados. 6 Referências Silveira, 2010. Um Ambiente de m-learning para Ensino da Linguagem SQL Marcos Cristiano da Silveira, José Maria Monteiro, Jefferson Teixeira de Souza http://www.br-ie.org/pub/index.php/sbie/article/view/1521 SBIE 2010 Carvalho, Ana Amélia Amorim, sem ano. Testes de Usabilidade: exigência supérflua ou necessidade? Departamento de Currículo e Tecnologia Educativa Instituto de Educação e Psicologia Universidade do Minho aac@iep.uminho.pt. Disponível em: http://www.lits.dei.uminho.pt/tu.pdf Tancicleide, 2014. Mobile Learning: Explorando Possibilidades com o App Inventor no Contexto Educacional. Disponível em: http://www.brie.org/pub/index.php/pie/article/view/3153