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 language | English |
---|---|
Title of host publication | Proceedings of EASE 2023 - Evaluation and Assessment in Software Engineering |
Publisher | Association for Computing Machinery |
Pages | 152-161 |
Number of pages | 10 |
ISBN (Electronic) | 9798400700446 |
ISBN (Print) | 9798400700446 |
DOIs | |
Publication status | Published - 14 Jun 2023 |
Event | 27th International Conference on Evaluation and Assessment in Software Engineering, EASE 2023 - Oulu, Finland Duration: 14 Jun 2023 → 16 Jun 2023 |
Publication series
Name | ACM International Conference Proceeding Series |
---|
Conference
Conference | 27th International Conference on Evaluation and Assessment in Software Engineering, EASE 2023 |
---|---|
Country/Territory | Finland |
City | Oulu |
Period | 14/06/23 → 16/06/23 |
Bibliographical note
Funding Information:This research was partially by FEDER from the European Union through CENTRO 2020 under project CENTRO-01-0247-FEDER-047256 – GreenStamp: Mobile Energy Efficiency Services, and Base Funding - UIDB/00027/2020 of the Artificial Intelligence and Computer Science Laboratory – LIACC - by national funds through the FCT/MCTES (PIDDAC), and by FCT in the LASIGE Research Unit under the ref. UIDB/00408/2020 and UIDP/00408/2020 and the RAP project under the reference EXPL/CCI-COM/1306/2021, and INES 2.0, (FACEPE PRONEX APQ 0388-1.03/14 and APQ-0399-1.03/17, CNPq 465614/2014-0).
Publisher Copyright:
© 2023 ACM.
Funding
This research was partially by FEDER from the European Union through CENTRO 2020 under project CENTRO-01-0247-FEDER-047256 – GreenStamp: Mobile Energy Efficiency Services, and Base Funding - UIDB/00027/2020 of the Artificial Intelligence and Computer Science Laboratory – LIACC - by national funds through the FCT/MCTES (PIDDAC), and by FCT in the LASIGE Research Unit under the ref. UIDB/00408/2020 and UIDP/00408/2020 and the RAP project under the reference EXPL/CCI-COM/1306/2021, and INES 2.0, (FACEPE PRONEX APQ 0388-1.03/14 and APQ-0399-1.03/17, CNPq 465614/2014-0).