Explorando frameworks multiplataforma para desenvolvimento Android : uma investigação sobre o consumo de recursos
| Autor(a) principal: | |
|---|---|
| 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 |