Please use this identifier to cite or link to this item: http://dspace.unipampa.edu.br:8080/jspui/handle/riu/4224
metadata.dc.type: Trabalho de Conclusão de Curso
Title: Avaliação de frameworks para o desenvolvimento de aplicações híbridas
metadata.dc.creator: Lima, Fernando Fortunato de
metadata.dc.contributor.advisor1: Mello, Aline Vieira de
metadata.dc.description.resumo: O uso de aplicativos móveis auxilia no cotidiano da vida das pessoas. Estes aplicativos podem ajudar em diversos contextos, como na vida social, na comunicação, no entretenimento, entre outros. Por este motivo, o aumento na demanda de aplicativos publicados nas lojas virtuais cresce a cada dia, resultando no crescimento do mercado de desenvolvimento de aplicações. Para realizar a publicação de uma aplicação nas lojas virtuais, deve ser implementado duas ou mais aplicações, dependendo no número de Sistemas Operacionais (SO) que se deseja atingir. O custo para a criação de cada aplicação é alto, contando com o custo dos recursos, tempo, manutenção e evolução, portanto, manter dois ou mais aplicativos é uma tarefa cara. Para amenizar este problema, foram criados frameworks para desenvolvimento de aplicações móveis, ou seja, é utilizado uma plataforma base para implementar uma única aplicação, da qual será gerado aplicativos para um ou mais SO. Apesar de ser uma ótima solução para os profissionais da área, cada framework possui um conjunto de vantagens e desvantagens que dependem das características da aplicação que será desenvolvida, dificultando a decisão de qual utilizar. Em vista desse problema, o objetivo deste trabalho é realizar a comparação entre frameworks e apresentar dados que auxiliem os profissionais na melhor escolha para seu contexto. Para alcançar esse objetivo, foi realizado um mapeamento sistemático visando levantar as principais características comparadas pelos trabalhos relacionados a este. Mini-aplicações para cada funcionalidade nativa dos dispositivos foram implementadas usando os frameworks Flutter, Ionic, NativeScript-Vue.js e React Native. Uma bateria de testes foi executada nos SO Android e iOS para obter as médias de tempo de execução, consumo de memória e uso do processador. Adicionalmente, um questionário foi elaborado e distribuído para a comunidade de usuários destes frameworks, com o objetivo de obter a opinião dos profissionais e dados que não podem ser evidenciados nos testes. Os resultados apontam que o React Native é o framework mais conhecido pelos respondentes, sendo o que apresentou menor tempo de desenvolvimento e mais indicado para aplicações complexas. Em contrapartida, o Ionic provou ser o menos aconselhado para aplicações complexas ou com acesso as funcionalidades nativas do dispositivo. O Flutter apresentou os menores valores médios dos testes de consumo de memória e uso do processador, porém, foi apontado pelos participantes do questionário o fato de utilizar DART como linguagem de programação ser um ponto negativo. O NativeScript-Vue.js é o menos conhecido e utilizado, apresentando os melhores tempos médios para o SO iOS, menos para a mini-aplicação Bluetooth.
Abstract: The widespread use of mobile applications facilitates people’s daily tasks. These applications can help people in a variety of ways, such as social life, communications, entertainment and several others. As a consequence, the demand for this applications is in constant rising creating a huge market for the development of such applications. Most apps target one or more operational system, considering that, developers must build the same applications more than once one for each OS targeted. The cost of development of said applications is high, it must take into account resources, planning, time, maintenance and evolution of each application developed. Targeting two or more OSs will most likely double the price of an application. To mitigate the aforementioned cost problem, mobile application development frameworks were built to provide a base platform to build one single application that can target one or more OS. In spite of being a great solution for developers, it is a challenge to choose the right framework for the task at hand. This work aims to compare frameworks, with the objective to present data for developers to facilitate choosing the right framework for the problem they have. For that, this work presents a systematic mapping aiming to find the main features of a framework looking into related works. Several small applications were also implemented to test some of the native functionalities of each device, and a battery of tests to obtain data about excecution time, memory consumption and use of processing power. Furthermore, a questionaire was created and sent to a community of mobile developers looking to get some opinions from professionals and data that cannot be collected through testing. The results indicate that the most recognized Framework by the respondents was React Native; this framework also presented the fastest development time and is also the most indicated for complex applications. Ionic presented itself as the least recommended framework for complex applications or to use native tools. Flutter had the least median values in the memory consumption and processor usage tests, however the respondents pointed that using a DART as a programming language is a major drawback. Native Script-Vue.js is the least known and used. Nevertheless presented the best mean times for iOS, excluding the Bluetooth mini application.
Keywords: Engenharia de software
Aplicativos móveis
Desenvolvimento
Framework
Software Engineering
Mobile apps
Development
metadata.dc.subject.cnpq: CNPQ::CIENCIAS EXATAS E DA TERRA
metadata.dc.language: por
metadata.dc.publisher.country: Brasil
Publisher: Universidade Federal do Pampa
metadata.dc.publisher.initials: UNIPAMPA
metadata.dc.publisher.department: Campus Alegrete
Citation: LIMA, Fernando Fortunato de. Avaliação de frameworks para o desenvolvimento de aplicações híbridas. Orientador: Aline Vieira de Mello. 2019. 119 p. Trabalho de Conclusão de Curso (Bacharel em Engenharia de Software) - Universidade Federal do Pampa, Curso de Engenharia de Software, Alegrete, 2019.
metadata.dc.rights: Acesso Aberto
URI: http://dspace.unipampa.edu.br:8080/jspui/handle/riu/4224
Issue Date: 24-Jun-2019
Appears in Collections:Engenharia de Software

Files in This Item:
File Description SizeFormat 
Fernando Fortunato de Lima - 2019.pdf2,6 MBAdobe PDFView/Open


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.