Explorando frameworks multiplataforma para desenvolvimento Android : uma investigação sobre o consumo de recursos

Detalhes bibliográficos
Autor(a) principal: SANTANA JÚNIOR, Bernardo de Moraes
Data de Publicação: 2024
Tipo de documento: Dissertação
Idioma: por
Título da fonte: Repositório Institucional da UFPE
dARK ID: ark:/64986/001300002cz90
Texto Completo: https://repositorio.ufpe.br/handle/123456789/58168
Resumo: O desenvolvimento multiplataforma tem chamado a atenção de várias empresas do mer- cado devido à possibilidade de uma única base de código para várias plataformas distintas. Essa característica é vantajosa, pois tende a acelerar o processo de desenvolvimento de software e reduzir a quantidade de bugs. Porém, essa forma de desenvolvimento normal- mente adiciona camadas de abstração ao código que podem impactar negativamente no desempenho da aplicação final. Este trabalho visa analisar o impacto causado pelo de- senvolvimento com a abordagem multiplataforma em dispositivos Android, e também apresenta uma ferramenta para automação do processo de análise, chamada de Ebserver. Esta pesquisa focou nos frameworks de maior destaque da atualidade para analisar como aplicações móveis são afetadas por eles. Foram utilizados dois programas e 10 benchmarks para comparação de performance em relação ao desenvolvimento na abordagem nativa. Para facilitar o processo de análise, a construção do Ebserver se mostrou de grande utili- dade para garantir uma maior confiabilidade dos dados gerados e velocidade no processo de coleta dos dados durante os testes do programas. Para análise dos frameworks, foi uti- lizado um conjunto de programas de benchmarks - sem interação com a interface gráfica -, além de uma aplicação focada em animação de imagens e outra aplicação de gerencia- mento de contatos, sendo uma delas com atualização constantemente da GUI e a outra envolve interação com usuário. Para coleta de informações, como consumo de memória, CPU, energia e tempo de execução, foi utilizado o Android Debug Bridge (ADB). Da- dos encontrados mostram que, a depender da aplicação, os frameworks multiplataforma podem ser bastante competitivos a nível de desempenho em comparação com a aborda- gem nativa, em Java. Flutter e .Net Maui, no geral, foram os que apresentaram menor impacto em comparação aos demais frameworks multiplataforma, havendo cenários em que até mesmo teve desempenho melhor do que a abordagem nativa. React Native, en- quanto tendo o pior desempenho em cenários de alto consumo de CPU, obteve o melhor desempenho nos testes mais focados em atualização frequente da interface gráfica. Os resultados mostram que a escolha de qual ferramenta utilizar vai depender do cenário e o processo de análise é de grande importância antes de se dedicar a um framework para desenvolvimento de aplicações de grande porte.
id UFPE_cdfd763940bf0f59bf532f71e6a4edc6
oai_identifier_str oai:repositorio.ufpe.br:123456789/58168
network_acronym_str UFPE
network_name_str Repositório Institucional da UFPE
repository_id_str 2221
spelling Explorando frameworks multiplataforma para desenvolvimento Android : uma investigação sobre o consumo de recursosAndroidAutomaçãoDesenvolvimento MultiplataformaEbserverO desenvolvimento multiplataforma tem chamado a atenção de várias empresas do mer- cado devido à possibilidade de uma única base de código para várias plataformas distintas. Essa característica é vantajosa, pois tende a acelerar o processo de desenvolvimento de software e reduzir a quantidade de bugs. Porém, essa forma de desenvolvimento normal- mente adiciona camadas de abstração ao código que podem impactar negativamente no desempenho da aplicação final. Este trabalho visa analisar o impacto causado pelo de- senvolvimento com a abordagem multiplataforma em dispositivos Android, e também apresenta uma ferramenta para automação do processo de análise, chamada de Ebserver. Esta pesquisa focou nos frameworks de maior destaque da atualidade para analisar como aplicações móveis são afetadas por eles. Foram utilizados dois programas e 10 benchmarks para comparação de performance em relação ao desenvolvimento na abordagem nativa. Para facilitar o processo de análise, a construção do Ebserver se mostrou de grande utili- dade para garantir uma maior confiabilidade dos dados gerados e velocidade no processo de coleta dos dados durante os testes do programas. Para análise dos frameworks, foi uti- lizado um conjunto de programas de benchmarks - sem interação com a interface gráfica -, além de uma aplicação focada em animação de imagens e outra aplicação de gerencia- mento de contatos, sendo uma delas com atualização constantemente da GUI e a outra envolve interação com usuário. Para coleta de informações, como consumo de memória, CPU, energia e tempo de execução, foi utilizado o Android Debug Bridge (ADB). Da- dos encontrados mostram que, a depender da aplicação, os frameworks multiplataforma podem ser bastante competitivos a nível de desempenho em comparação com a aborda- gem nativa, em Java. Flutter e .Net Maui, no geral, foram os que apresentaram menor impacto em comparação aos demais frameworks multiplataforma, havendo cenários em que até mesmo teve desempenho melhor do que a abordagem nativa. React Native, en- quanto tendo o pior desempenho em cenários de alto consumo de CPU, obteve o melhor desempenho nos testes mais focados em atualização frequente da interface gráfica. Os resultados mostram que a escolha de qual ferramenta utilizar vai depender do cenário e o processo de análise é de grande importância antes de se dedicar a um framework para desenvolvimento de aplicações de grande porte.Multiplatform development has caught the attention of several companies in the industry due to the need of a single code base for multiple platforms. This characteristic is advan- tageous, as it tends to accelerate the software development process and reduce the number of bugs. However, this form of development usually adds layers of abstraction to the code that can negatively impact the final application performance. This work aims to analyze the impact caused by development with the multiplatform approach on Android devices, and also presents a tool for automating the analysis process, called Ebserver. This research focused on today’s most prominent frameworks to analyze how mobile applications are affected by them. Two programs and 10 benchmarks were used for comparing performance in relation to development with the native approach. To facilitate the analysis process, the construction of Ebserver proved to be of great utility to ensure more reliability of generated data and more speed in the process of data collection while testing. To analyze the frameworks, a set of benchmark programs was used - without interaction with the graphics interface - in addition to an application focused on image animation and an- other one for contact management, one that constantly updates the GUI and other that involves user interaction. For collecting information such as memory consumption, CPU, energy and execution time, the Android Debug Bridge (ADB) was used. Data found shows that, depending on the application, multiplatform frameworks can be quite competitive in terms of performance, compared to the native approach, in Java. Flutter and .Net Maui, overall, had the lowest impact compared to the others multiplatform frameworks, with scenarios in which it they performed even better than the native approach. React Native, while having the worst performance in high consumption scenarios of CPU, obtained the best performance in tests more focused on frequent updates of the graphical interface. The results show that the choice of which tool to use will depend on the scenario and the analysis process is of great importance before dedicating to a framework for developing complex applications.Universidade Federal de PernambucoUFPEBrasilPrograma de Pos Graduacao em Ciencia da ComputacaoLIMA FILHO, Fernando José Castor deOLIVEIRA JÚNIOR, Wellington dehttp://lattes.cnpq.br/9948081717430490http://lattes.cnpq.br/7310046838140771http://lattes.cnpq.br/8218275999484343SANTANA JÚNIOR, Bernardo de Moraes2024-10-22T12:24:40Z2024-10-22T12:24:40Z2024-03-27info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfSANTANA JÚNIOR, Bernardo de Moraes. Explorando frameworks multiplataforma para desenvolvimento Android: uma investigação sobre o consumo de recursos. 2024. Dissertação (Mestrado em Ciência da Computação) – Universidade Federal de Pernambuco, Recife, 2024.https://repositorio.ufpe.br/handle/123456789/58168ark:/64986/001300002cz90porAttribution-NonCommercial-NoDerivs 3.0 Brazilhttp://creativecommons.org/licenses/by-nc-nd/3.0/br/info:eu-repo/semantics/openAccessreponame:Repositório Institucional da UFPEinstname:Universidade Federal de Pernambuco (UFPE)instacron:UFPE2024-10-23T05:29:49Zoai:repositorio.ufpe.br:123456789/58168Repositório InstitucionalPUBhttps://repositorio.ufpe.br/oai/requestattena@ufpe.bropendoar:22212024-10-23T05:29:49Repositório Institucional da UFPE - Universidade Federal de Pernambuco (UFPE)false
dc.title.none.fl_str_mv Explorando frameworks multiplataforma para desenvolvimento Android : uma investigação sobre o consumo de recursos
title Explorando frameworks multiplataforma para desenvolvimento Android : uma investigação sobre o consumo de recursos
spellingShingle Explorando frameworks multiplataforma para desenvolvimento Android : uma investigação sobre o consumo de recursos
SANTANA JÚNIOR, Bernardo de Moraes
Android
Automação
Desenvolvimento Multiplataforma
Ebserver
title_short Explorando frameworks multiplataforma para desenvolvimento Android : uma investigação sobre o consumo de recursos
title_full Explorando frameworks multiplataforma para desenvolvimento Android : uma investigação sobre o consumo de recursos
title_fullStr Explorando frameworks multiplataforma para desenvolvimento Android : uma investigação sobre o consumo de recursos
title_full_unstemmed Explorando frameworks multiplataforma para desenvolvimento Android : uma investigação sobre o consumo de recursos
title_sort Explorando frameworks multiplataforma para desenvolvimento Android : uma investigação sobre o consumo de recursos
author SANTANA JÚNIOR, Bernardo de Moraes
author_facet SANTANA JÚNIOR, Bernardo de Moraes
author_role author
dc.contributor.none.fl_str_mv LIMA FILHO, Fernando José Castor de
OLIVEIRA JÚNIOR, Wellington de
http://lattes.cnpq.br/9948081717430490
http://lattes.cnpq.br/7310046838140771
http://lattes.cnpq.br/8218275999484343
dc.contributor.author.fl_str_mv SANTANA JÚNIOR, Bernardo de Moraes
dc.subject.por.fl_str_mv Android
Automação
Desenvolvimento Multiplataforma
Ebserver
topic Android
Automação
Desenvolvimento Multiplataforma
Ebserver
description O desenvolvimento multiplataforma tem chamado a atenção de várias empresas do mer- cado devido à possibilidade de uma única base de código para várias plataformas distintas. Essa característica é vantajosa, pois tende a acelerar o processo de desenvolvimento de software e reduzir a quantidade de bugs. Porém, essa forma de desenvolvimento normal- mente adiciona camadas de abstração ao código que podem impactar negativamente no desempenho da aplicação final. Este trabalho visa analisar o impacto causado pelo de- senvolvimento com a abordagem multiplataforma em dispositivos Android, e também apresenta uma ferramenta para automação do processo de análise, chamada de Ebserver. Esta pesquisa focou nos frameworks de maior destaque da atualidade para analisar como aplicações móveis são afetadas por eles. Foram utilizados dois programas e 10 benchmarks para comparação de performance em relação ao desenvolvimento na abordagem nativa. Para facilitar o processo de análise, a construção do Ebserver se mostrou de grande utili- dade para garantir uma maior confiabilidade dos dados gerados e velocidade no processo de coleta dos dados durante os testes do programas. Para análise dos frameworks, foi uti- lizado um conjunto de programas de benchmarks - sem interação com a interface gráfica -, além de uma aplicação focada em animação de imagens e outra aplicação de gerencia- mento de contatos, sendo uma delas com atualização constantemente da GUI e a outra envolve interação com usuário. Para coleta de informações, como consumo de memória, CPU, energia e tempo de execução, foi utilizado o Android Debug Bridge (ADB). Da- dos encontrados mostram que, a depender da aplicação, os frameworks multiplataforma podem ser bastante competitivos a nível de desempenho em comparação com a aborda- gem nativa, em Java. Flutter e .Net Maui, no geral, foram os que apresentaram menor impacto em comparação aos demais frameworks multiplataforma, havendo cenários em que até mesmo teve desempenho melhor do que a abordagem nativa. React Native, en- quanto tendo o pior desempenho em cenários de alto consumo de CPU, obteve o melhor desempenho nos testes mais focados em atualização frequente da interface gráfica. Os resultados mostram que a escolha de qual ferramenta utilizar vai depender do cenário e o processo de análise é de grande importância antes de se dedicar a um framework para desenvolvimento de aplicações de grande porte.
publishDate 2024
dc.date.none.fl_str_mv 2024-10-22T12:24:40Z
2024-10-22T12:24:40Z
2024-03-27
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv SANTANA JÚNIOR, Bernardo de Moraes. Explorando frameworks multiplataforma para desenvolvimento Android: uma investigação sobre o consumo de recursos. 2024. Dissertação (Mestrado em Ciência da Computação) – Universidade Federal de Pernambuco, Recife, 2024.
https://repositorio.ufpe.br/handle/123456789/58168
dc.identifier.dark.fl_str_mv ark:/64986/001300002cz90
identifier_str_mv SANTANA JÚNIOR, Bernardo de Moraes. Explorando frameworks multiplataforma para desenvolvimento Android: uma investigação sobre o consumo de recursos. 2024. Dissertação (Mestrado em Ciência da Computação) – Universidade Federal de Pernambuco, Recife, 2024.
ark:/64986/001300002cz90
url https://repositorio.ufpe.br/handle/123456789/58168
dc.language.iso.fl_str_mv por
language por
dc.rights.driver.fl_str_mv Attribution-NonCommercial-NoDerivs 3.0 Brazil
http://creativecommons.org/licenses/by-nc-nd/3.0/br/
info:eu-repo/semantics/openAccess
rights_invalid_str_mv Attribution-NonCommercial-NoDerivs 3.0 Brazil
http://creativecommons.org/licenses/by-nc-nd/3.0/br/
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.publisher.none.fl_str_mv Universidade Federal de Pernambuco
UFPE
Brasil
Programa de Pos Graduacao em Ciencia da Computacao
publisher.none.fl_str_mv Universidade Federal de Pernambuco
UFPE
Brasil
Programa de Pos Graduacao em Ciencia da Computacao
dc.source.none.fl_str_mv reponame:Repositório Institucional da UFPE
instname:Universidade Federal de Pernambuco (UFPE)
instacron:UFPE
instname_str Universidade Federal de Pernambuco (UFPE)
instacron_str UFPE
institution UFPE
reponame_str Repositório Institucional da UFPE
collection Repositório Institucional da UFPE
repository.name.fl_str_mv Repositório Institucional da UFPE - Universidade Federal de Pernambuco (UFPE)
repository.mail.fl_str_mv attena@ufpe.br
_version_ 1846272593114431488