Análise comparativa das arquiteturas de software MVC e MVVM no desenvolvimento mobile: desempenho de renderização de tela, consumo de CPU e memória Ram

Análise comparativa das arquiteturas de software MVC e MVVM no desenvolvimento mobile: desempenho de renderização de tela, consumo de CPU e memória Ram

Autor(a)
Correia, Adson Bruno de Souza.
<adsonbruno2@gmail.com>
Ano de publicação
2025
Data da defesa
26/05/2025
Curso/Outros
Ciência da Computação
Número de folhas
38
Tipo
TCC - Trabalho de Conclusão de Curso
Local
UFAL, Campus Arapiraca, Unidade Educacional ARAPIRACA
Resumo

Este trabalho apresenta uma análise comparativa entre duas arquiteturas de software amplamente utilizadas no desenvolvimento de aplicações móveis: MVC (Model-View-Controller) e MVVM (Model-View-ViewModel). O objetivo é avaliar o desempenho de ambas as abordagens em termos de tempo de renderização de telas, consumo de memória RAM e uso de CPU. Para tanto, uma mesma aplicação foi desenvolvida em Flutter, implementada nas duas arquiteturas e submetidas às mesmas condições de teste. A avaliação seguiu uma abordagem experimental, utilizando a ferramenta Flutter DevTools para mensurar os indicadores de consumo de CPU e memória, e testes de integração para aferir o tempo de renderização das telas. Os resultados obtidos indicam que a arquitetura MVVM apresentou desempenho superior ao MVC, com destaque para uma redução de aproximadamente 24% no tempo de renderização das telas. Adicionalmente, observou-se maior estabilidade no consumo de memória e um uso mais eficiente da CPU, especialmente devido à utilização do data binding, que promove atualizações pontuais na interface. Por outro lado, foi identificado que a maior complexidade na implementação do MVVM pode representar um desafio em equipes sem experiência e maturidade. Não obstante, os dados obtidos reforçam a eficácia do MVVM em cenários que demandam escalabilidade, manutenibilidade e testabilidade. Embora mais complexo, o padrão MVVM é mais recomendado para aplicações modernas que exigem alta performance e evolução contínua.

Abstract

This work presents a comparative analysis between two widely used software architectures in mobile application development: MVC (Model-View-Controller) and MVVM (Model-View-ViewModel). The objective is to evaluate the performance of both approaches in terms of screen rendering time, RAM consumption, and CPU usage. To this end, the same application was developed in Flutter, implemented in both architectures, and subjected to identical testing conditions. The evaluation followed an experimental approach, utilizing the Flutter DevTools to measure CPU and memory consumption indicators, and integration tests to ascertain screen rendering time. The obtained results indicate that the MVVM architecture demonstrated superior performance compared to MVC, notably showing an approximate 24% reduction in screen rendering time. Additionally, greater stability in memory consumption and more efficient CPU utilization were observed, especially due to the use of data binding, which promotes punctual interface updates. Conversely, it was identified that the increased complexity in MVVM implementation can pose a challenge for teams lacking experience and maturity. Nonetheless, the collected data reinforces MVVM's effectiveness in scenarios demanding scalability, maintainability, and testability. Although more complex, the MVVM pattern is more recommended for modern applications that require high performance and continuous evolution.

Orientador(a)
Dr. Afonso, Ricardo Alexandre.
Banca Examinadora
Esp. Santos, José Bruno da Silva.
Dr. Brito, Patrick Henrique da Silva.
Palavras-chave
Computação gráfica.
Arquitetura de software..
Renderização (Computação gráfica).
Memória de computadores - Dispositivos.
Flutter (Framework).
Áreas do Conhecimento/Localização
Coleção Propriedade Intelectual (CPI) - BSCA.
Categorias CNPQ
1.00.00.00-3 Ciências exatas e da terra.
Visualizações
24
Observações


Não foi possível exibir o PDF