Analyzing the Resource Usage Overhead of Mobile App Development Frameworks

Wellington Oliveira, Bernardo Moraes, Fernando Castor, Joao Paulo Fernandes

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

Mobile app development frameworks lower the effort to write and deploy apps across different execution platforms. At the same time, their use may limit native optimizations and impose overhead, increasing resource usage. In this paper, we analyze the resource usage of Android benchmarks and apps based on three mobile app development frameworks, Flutter, React Native, and Ionic, comparing them to functionally equivalent, native variants written in Java. These frameworks, besides being in widespread use, represent three different approaches for developing multiplatform apps: Flutter supports the deployment of apps that are compiled and run fully natively, React Native runs interpreted JavaScript code combined with native views for different platforms, and Ionic is based on web apps, which means that it does not depend on platform-specific details. We measure the energy consumption, execution time, and memory usage of ten optimized, CPU-intensive benchmarks, to gauge overhead in a controlled manner, and two applications, to measure their impact when running commonly mobile app functionalities. Our results show that cross-platform and hybrid frameworks can be competitive in CPU-intensive applications. In five of the ten benchmarks, at least one framework-based version exhibits lower energy consumption and execution time than its native counterpart, up to a reduction of 81% in energy and 83% in execution time. Furthermore, in three other benchmarks, framework-based and native versions achieved similar results. Overall, Flutter, usually imposes the least overhead in execution time and energy, while React Native imposes the highest in all the benchmarks. However, in an app that continuously animates multiple images on the screen, without interaction, the React Native version uses the least CPU and energy, up to a reduction of 96% in energy compared to the second-best framework-based version. These findings highlight the importance of analyzing expected application behavior before committing to a specific framework.

Original languageEnglish (US)
Title of host publicationProceedings of EASE 2023 - Evaluation and Assessment in Software Engineering
PublisherAssociation for Computing Machinery
Pages152-161
Number of pages10
ISBN (Electronic)9798400700446
DOIs
StatePublished - Jun 14 2023
Event27th International Conference on Evaluation and Assessment in Software Engineering, EASE 2023 - Oulu, Finland
Duration: Jun 14 2023Jun 16 2023

Publication series

NameACM International Conference Proceeding Series

Conference

Conference27th International Conference on Evaluation and Assessment in Software Engineering, EASE 2023
Country/TerritoryFinland
CityOulu
Period6/14/236/16/23

ASJC Scopus subject areas

  • Human-Computer Interaction
  • Computer Networks and Communications
  • Computer Vision and Pattern Recognition
  • Software

Fingerprint

Dive into the research topics of 'Analyzing the Resource Usage Overhead of Mobile App Development Frameworks'. Together they form a unique fingerprint.

Cite this