Explorando frameworks multiplataforma para desenvolvimento Android : uma investigação sobre o consumo de recursos - SANTANA JÚNIOR, Bernardo de Moraes (2024)
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.