Pós-Graduação em Ciência da Computação – UFPE
Defesa de Dissertação de Mestrado Nº 2.136
Aluno: Bernardo de Moraes Santana Júnior
Orientador: Prof. Fernando José Castor de Lima Filho
Coorientador: Prof. Wellington Oliveira Junior (Universidade de Lisboa)
Título: Explorando frameworks multiplataforma para desenvolvimento Android:
Uma investigação sobre o consumo de recursos
Data: 27/03/2024
Hora/Local: 8h – Virtual – Interessados em assistir entrar em contato com o aluno
Banca Examinadora:
Prof. Leopoldo Motta Teixeira (UFPE / Centro de Informática)
Prof. Fernando Antônio Mota Trinta (UFC / Departamento de Computação)
Prof. Fernando José Castor de Lima Filho (UFPE / Centro de Informática)
RESUMO:
O desenvolvimento multiplataforma tem chamado a atenção de várias empresas
do mercado devido à necessidade 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 normalmente 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
desenvolvimento 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 analisou os frameworks de maior destaque
da atualidade e comparou a performance de dois programas e dez benchmarks
para entender qual o custo de escolha dos frameworks em relação ao
desenvolvimento na abordagem nativa. Para facilitar o processo de análise,
a construção do Ebserver se mostrou de grande utilidade para garantir uma
maior confiabilidade dos dados gerados e velocidade no processo de coleta
dos dados durante os testes dos programas. Para análise dos frameworks, foi
utilizado 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 gerenciamento de contatos, uma que atualiza a GUI
constantemente e outra que 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). Dados encontrados mostram que, a
depender da aplicação, os frameworks multiplataforma podem ser bastante
competitivos a nível de performance em comparação com a abordagem nativa,
em Java. Flutter, no geral, foi o que apresentou menor impacto em
comparação aos demais frameworks, havendo cenários em que até mesmo
performou melhor do que a abordagem nativa. React Native, enquanto tendo a
pior performance em cenários de alto consumo de CPU, obteve a melhor
performance 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.
Palavras-chave: Android. Automação. Desenvolvimento Multiplataforma. Ebserver.
Comentários desativados