Ecological Impact of Native vs. Cross-Platform Mobile Apps: a Preliminary Study

Olivier Le Goaër
Olivier Le GoaërMaître de Conférences en Informatique em Université de Pau et des Pays de l'Adour
Ecological Impact of Native vs. Cross-Platform
Mobile Apps: a Preliminary Study
Vincent Frattaroli, Olivier Le Goaër, Olivier Philippot
The 6th International Workshop on Advances in Mobile App Analysis
September 15th
, 2023
Mobile software eaten the world…
From “There's an App for That” (Apple, 2009), 13 years of continuous growth
Mobile software has yielded new addictive behaviours*
The industry of mobile development has undergone profound mutations
6.84 billion smartphones
8.93 million mobile apps
*Richard J.E. James et al., “Understanding the construction of ‘behavior’ in smartphone addiction: A scoping review”, Addictive Behaviors (Volume 137), February 2023
…while the world is facing climate change
Manufacturing user devices is the primary source of GHG in ICT field
Increasingly demanding software is driving the need to renew hardware
Software developers must play their part in the Green Deal (Europe)
Software-driven hardware obsolescence
Eco-friendly dev stack
Patterns & tactics
Apply best coding practices to
save energy [3]
3
Langages & runtime
Choose energy-efficient
programming languages [2]
2
Development
methodology
Choose the right type of
development to save energy [1]
1
[1] R. Horn et al., “Native vs Web Apps: Comparing the Energy Consumption and Performance of Android Apps and their Web Counterparts”, IEEE/ACM MOBILESoft 2023, Melbourne, Australia, pp. 44-54.
[2] Rui Pereira et al. “Ranking Programming Languages by Energy Efficiency”. Science of Computer Programming, volume 205. Elsevier, 2021
[3] Luis Cruz and Rui Abreu. 2019. “Catalog of energy patterns for mobile applications”. Empirical Software. Engineering. 24, 4 (August 2019)
Trendy cross-platform solutions
“Write once, run everywhere” motto
Kotlin Multiplatform Mobile React Native Flutter
Joint work for this study
Greenspector
03
● Mobile measurement company
● Testbench for Android and iOS apps
University of Pau / E2S
02
● Software engineering team
● Research on “Green Software”
inside|app
01
● Mobile app development company
● Build validation app
Carbon-related metrics
Energy
consumption
(mAh)
Data transfer
(KB)
App size
(KB)
Crosscutting the carbon 3-tier
Device Network infrastructure Cloud/Data center
(including app stores)
5 codebases, 8 app variants
Development kind Framework (version) Target OS
Native Swift (5.6)
Native Kotlin (1.6.10)
Crossplatform KMM (0.3.2)
Crossplatform Flutter (2.16.0)
Crossplatform React Native (0.69)
https://github.com/orgs/TurnipOffApp/repositories
Preliminary remarks
There is no zoo of mobile apps coded using different methods
Coding 1 realistic app using the 5 methods is time consuming (≅10 man-days)
Performing such a comparative study on dozens of apps is cumbersome
Native & cross-platform development is evolving at a very fast pace
Validation app (Worst Movies)
Screenshots (iOS) Baseline for a fair comparison
● End user viewpoint
○ Same look&feel
○ Same journey
● Developer viewpoint
○ No advanced architecture
○ No fine-tuning
○ No third-party libraries
Testbench in a nutshell
powered by Greenspector
Developer’s
computer
GDSL test
script
App under test
1 - Send test file and app package
Real
Smartphones
Test bench
Server
Core server
Back-end
Server
Greenspector Premises
Web Interface (Dashboard)
Result recording
3 - Displaying results
2 - Waiting for live measurements
Communication needed if application
requires backend access
Communication needed if application
requires backend access
Domain-specific language for
fully automated testing
Results (partial)
Development
App size (KB) Data transfer (KB) Energy (mAh)
Swift N/A 216 N/A ? N/A 8,59
Kotlin 1200 N/A 944 N/A 21,60 N/A
KMM 3600 1600 932 ? 21,66 ?
Flutter 17500 18000 1190 ? 18,27 9,19
React Native 27300 13100 706 ? 19,45 11,62
Average data from 10 repetitions
At first glance
Native development is indisputably the best solution on both OS
React Native is by far the less data-intensive solution over the network
on Android (No data regarding iOS)
Flutter is doing very well in terms of energy-savings, on both OS
Takeways
Targeting iOS only
Apps with few network interactions
Other cases
Always Native development
In general, Native development
No general rule of thumb
But nothing beats an app “sober-by-design”
Conclusion
Ecological impact of app development methods is an understudied topic
Including iOS in the study is our pride, but also our weakness (missing values)
This study ought to be continued: repeat experiment, new releases, etc.
Our github repo may bootstrap research works about native vs. cross-platform
Thank you for your attention
1 de 17

Recomendados

Marco Couto's Msc Thesis Presentation por
Marco Couto's Msc Thesis PresentationMarco Couto's Msc Thesis Presentation
Marco Couto's Msc Thesis PresentationGreenLabAtDI
419 visualizações13 slides
Home m por
Home mHome m
Home mHarish Kumar
1.7K visualizações54 slides
Cross platform app a comparative study por
Cross platform app  a comparative studyCross platform app  a comparative study
Cross platform app a comparative studyijcsit
280 visualizações8 slides
ICT, Importance of programming and programming languages por
ICT, Importance of programming and programming languagesICT, Importance of programming and programming languages
ICT, Importance of programming and programming languagesEbin Robinson
8K visualizações8 slides
Software Sustainability: The Challenges and Opportunities for Enterprises and... por
Software Sustainability: The Challenges and Opportunities for Enterprises and...Software Sustainability: The Challenges and Opportunities for Enterprises and...
Software Sustainability: The Challenges and Opportunities for Enterprises and...Patricia Lago
353 visualizações40 slides
IRJET - Survey Paper on Tools Used to Enhance User's Experience with Cons... por
IRJET -  	  Survey Paper on Tools Used to Enhance User's Experience with Cons...IRJET -  	  Survey Paper on Tools Used to Enhance User's Experience with Cons...
IRJET - Survey Paper on Tools Used to Enhance User's Experience with Cons...IRJET Journal
9 visualizações7 slides

Mais conteúdo relacionado

Similar a Ecological Impact of Native vs. Cross-Platform Mobile Apps: a Preliminary Study

MobiCloud: Towards Cloud Mobile Hybrid Application Generation using Semantica... por
MobiCloud: Towards Cloud Mobile Hybrid Application Generation using Semantica...MobiCloud: Towards Cloud Mobile Hybrid Application Generation using Semantica...
MobiCloud: Towards Cloud Mobile Hybrid Application Generation using Semantica...Amit Sheth
318 visualizações41 slides
A methodology for model driven multiplatform mobile application development por
A methodology for model driven multiplatform mobile application developmentA methodology for model driven multiplatform mobile application development
A methodology for model driven multiplatform mobile application developmentIAEME Publication
158 visualizações10 slides
A methodology for model driven multiplatform mobile application development por
A methodology for model driven multiplatform mobile application developmentA methodology for model driven multiplatform mobile application development
A methodology for model driven multiplatform mobile application developmentIAEME Publication
391 visualizações10 slides
[2015/2016] Mobile thinking por
[2015/2016] Mobile thinking[2015/2016] Mobile thinking
[2015/2016] Mobile thinkingIvano Malavolta
994 visualizações64 slides
Cross Platform Development Using Flutter por
Cross Platform Development Using FlutterCross Platform Development Using Flutter
Cross Platform Development Using Fluttervivatechijri
39 visualizações6 slides
Orban Widetag por
Orban   WidetagOrban   Widetag
Orban WidetagAREA Science Park
344 visualizações12 slides

Similar a Ecological Impact of Native vs. Cross-Platform Mobile Apps: a Preliminary Study(20)

MobiCloud: Towards Cloud Mobile Hybrid Application Generation using Semantica... por Amit Sheth
MobiCloud: Towards Cloud Mobile Hybrid Application Generation using Semantica...MobiCloud: Towards Cloud Mobile Hybrid Application Generation using Semantica...
MobiCloud: Towards Cloud Mobile Hybrid Application Generation using Semantica...
Amit Sheth318 visualizações
A methodology for model driven multiplatform mobile application development por IAEME Publication
A methodology for model driven multiplatform mobile application developmentA methodology for model driven multiplatform mobile application development
A methodology for model driven multiplatform mobile application development
IAEME Publication158 visualizações
A methodology for model driven multiplatform mobile application development por IAEME Publication
A methodology for model driven multiplatform mobile application developmentA methodology for model driven multiplatform mobile application development
A methodology for model driven multiplatform mobile application development
IAEME Publication391 visualizações
[2015/2016] Mobile thinking por Ivano Malavolta
[2015/2016] Mobile thinking[2015/2016] Mobile thinking
[2015/2016] Mobile thinking
Ivano Malavolta994 visualizações
Cross Platform Development Using Flutter por vivatechijri
Cross Platform Development Using FlutterCross Platform Development Using Flutter
Cross Platform Development Using Flutter
vivatechijri39 visualizações
Orban Widetag por AREA Science Park
Orban   WidetagOrban   Widetag
Orban Widetag
AREA Science Park344 visualizações
Towards application development for the internet of things por Pankesh Patel
Towards application development for the internet of thingsTowards application development for the internet of things
Towards application development for the internet of things
Pankesh Patel841 visualizações
Appear IQ The Business Case for hybrid html5 mobile apps por Appear
Appear IQ The Business Case for hybrid html5 mobile appsAppear IQ The Business Case for hybrid html5 mobile apps
Appear IQ The Business Case for hybrid html5 mobile apps
Appear403 visualizações
Leveraging mobile devices to enhance the performance and ease of programming ... por IJITE
Leveraging mobile devices to enhance the performance and ease of programming ...Leveraging mobile devices to enhance the performance and ease of programming ...
Leveraging mobile devices to enhance the performance and ease of programming ...
IJITE261 visualizações
LEVERAGING MOBILE DEVICES TO ENHANCE THE PERFORMANCE AND EASE OF PROGRAMMING ... por IJITE
LEVERAGING MOBILE DEVICES TO ENHANCE THE PERFORMANCE AND EASE OF PROGRAMMING ...LEVERAGING MOBILE DEVICES TO ENHANCE THE PERFORMANCE AND EASE OF PROGRAMMING ...
LEVERAGING MOBILE DEVICES TO ENHANCE THE PERFORMANCE AND EASE OF PROGRAMMING ...
IJITE266 visualizações
Test Cases and Testing Strategies for Mobile Apps –A Survey por IRJET Journal
Test Cases and Testing Strategies for  Mobile Apps  –A SurveyTest Cases and Testing Strategies for  Mobile Apps  –A Survey
Test Cases and Testing Strategies for Mobile Apps –A Survey
IRJET Journal60 visualizações
TEST_CASES_AND_TESTING_STRATEGIES_FOR_MO.pdf por ssuserf87985
TEST_CASES_AND_TESTING_STRATEGIES_FOR_MO.pdfTEST_CASES_AND_TESTING_STRATEGIES_FOR_MO.pdf
TEST_CASES_AND_TESTING_STRATEGIES_FOR_MO.pdf
ssuserf8798589 visualizações
Where Do Cross-Platform App Frameworks Stand in 2020? por Marianne Harness
Where Do Cross-Platform App Frameworks Stand in 2020?Where Do Cross-Platform App Frameworks Stand in 2020?
Where Do Cross-Platform App Frameworks Stand in 2020?
Marianne Harness94 visualizações
Analysis of programming languages used in solving energy problems.pdf por Natasha Grant
Analysis of programming languages used in solving energy problems.pdfAnalysis of programming languages used in solving energy problems.pdf
Analysis of programming languages used in solving energy problems.pdf
Natasha Grant4 visualizações
Inria - Software assets - Energy por Inria
Inria - Software assets - EnergyInria - Software assets - Energy
Inria - Software assets - Energy
Inria6.4K visualizações
Large-Scale Empirical Studies of Mobile Apps por SAIL_QU
Large-Scale Empirical Studies of Mobile AppsLarge-Scale Empirical Studies of Mobile Apps
Large-Scale Empirical Studies of Mobile Apps
SAIL_QU212 visualizações
IRJET- Cross-Platform Supported E-Learning Mobile Application por IRJET Journal
IRJET- Cross-Platform Supported E-Learning Mobile ApplicationIRJET- Cross-Platform Supported E-Learning Mobile Application
IRJET- Cross-Platform Supported E-Learning Mobile Application
IRJET Journal16 visualizações
James e owen resume detailed jan 2-16 por James Owen
James e owen resume detailed jan 2-16James e owen resume detailed jan 2-16
James e owen resume detailed jan 2-16
James Owen248 visualizações
Mobilesoft 2017 Keynote por Abhik Roychoudhury
Mobilesoft 2017 KeynoteMobilesoft 2017 Keynote
Mobilesoft 2017 Keynote
Abhik Roychoudhury23.9K visualizações
Slideshare startup contest por Thierry LEBOUCQ
Slideshare startup contestSlideshare startup contest
Slideshare startup contest
Thierry LEBOUCQ195 visualizações

Mais de Olivier Le Goaër

The road to green code por
The road to green codeThe road to green code
The road to green codeOlivier Le Goaër
8 visualizações41 slides
Enforcing Green Code With Android Lint por
Enforcing Green Code With Android LintEnforcing Green Code With Android Lint
Enforcing Green Code With Android LintOlivier Le Goaër
238 visualizações15 slides
GREEN PAUWARE - For a power-thrifty mobile app marketplace por
GREEN PAUWARE - For a power-thrifty mobile app marketplaceGREEN PAUWARE - For a power-thrifty mobile app marketplace
GREEN PAUWARE - For a power-thrifty mobile app marketplaceOlivier Le Goaër
271 visualizações36 slides
Introduction au langage SQL por
Introduction au langage SQLIntroduction au langage SQL
Introduction au langage SQLOlivier Le Goaër
1.8K visualizações16 slides
Les Web Services en 60 diapos chrono ! por
Les Web Services en 60 diapos chrono !Les Web Services en 60 diapos chrono !
Les Web Services en 60 diapos chrono !Olivier Le Goaër
2K visualizações60 slides
Executable modeling & dynamic adaptation por
Executable modeling & dynamic adaptationExecutable modeling & dynamic adaptation
Executable modeling & dynamic adaptationOlivier Le Goaër
699 visualizações31 slides

Mais de Olivier Le Goaër(14)

The road to green code por Olivier Le Goaër
The road to green codeThe road to green code
The road to green code
Olivier Le Goaër8 visualizações
Enforcing Green Code With Android Lint por Olivier Le Goaër
Enforcing Green Code With Android LintEnforcing Green Code With Android Lint
Enforcing Green Code With Android Lint
Olivier Le Goaër238 visualizações
GREEN PAUWARE - For a power-thrifty mobile app marketplace por Olivier Le Goaër
GREEN PAUWARE - For a power-thrifty mobile app marketplaceGREEN PAUWARE - For a power-thrifty mobile app marketplace
GREEN PAUWARE - For a power-thrifty mobile app marketplace
Olivier Le Goaër271 visualizações
Introduction au langage SQL por Olivier Le Goaër
Introduction au langage SQLIntroduction au langage SQL
Introduction au langage SQL
Olivier Le Goaër1.8K visualizações
Les Web Services en 60 diapos chrono ! por Olivier Le Goaër
Les Web Services en 60 diapos chrono !Les Web Services en 60 diapos chrono !
Les Web Services en 60 diapos chrono !
Olivier Le Goaër2K visualizações
Executable modeling & dynamic adaptation por Olivier Le Goaër
Executable modeling & dynamic adaptationExecutable modeling & dynamic adaptation
Executable modeling & dynamic adaptation
Olivier Le Goaër699 visualizações
Cours JavaScript por Olivier Le Goaër
Cours JavaScriptCours JavaScript
Cours JavaScript
Olivier Le Goaër8.8K visualizações
Adaptation d'exécution de modèles : vers des iDSML adaptables por Olivier Le Goaër
Adaptation d'exécution de modèles : vers des iDSML adaptablesAdaptation d'exécution de modèles : vers des iDSML adaptables
Adaptation d'exécution de modèles : vers des iDSML adaptables
Olivier Le Goaër1.3K visualizações
Formation VBA Excel por Olivier Le Goaër
Formation VBA ExcelFormation VBA Excel
Formation VBA Excel
Olivier Le Goaër27.1K visualizações
Android executable modeling: beyond android programming por Olivier Le Goaër
Android executable modeling: beyond android programmingAndroid executable modeling: beyond android programming
Android executable modeling: beyond android programming
Olivier Le Goaër1.3K visualizações
Yet another DSL for cross platforms mobile development por Olivier Le Goaër
Yet another DSL for cross platforms mobile developmentYet another DSL for cross platforms mobile development
Yet another DSL for cross platforms mobile development
Olivier Le Goaër1.1K visualizações
Introduction à l'approche ADM de l'OMG por Olivier Le Goaër
Introduction à l'approche ADM de l'OMGIntroduction à l'approche ADM de l'OMG
Introduction à l'approche ADM de l'OMG
Olivier Le Goaër2.4K visualizações
Syntaxe concrète des DSL en IDM [avec Xtext] por Olivier Le Goaër
Syntaxe concrète des DSL en IDM [avec Xtext]Syntaxe concrète des DSL en IDM [avec Xtext]
Syntaxe concrète des DSL en IDM [avec Xtext]
Olivier Le Goaër6.1K visualizações
Programmation sous Android por Olivier Le Goaër
Programmation sous AndroidProgrammation sous Android
Programmation sous Android
Olivier Le Goaër131.4K visualizações

Último

Software testing company in India.pptx por
Software testing company in India.pptxSoftware testing company in India.pptx
Software testing company in India.pptxSakshiPatel82
7 visualizações9 slides
Copilot Prompting Toolkit_All Resources.pdf por
Copilot Prompting Toolkit_All Resources.pdfCopilot Prompting Toolkit_All Resources.pdf
Copilot Prompting Toolkit_All Resources.pdfRiccardo Zamana
8 visualizações4 slides
2023-November-Schneider Electric-Meetup-BCN Admin Group.pptx por
2023-November-Schneider Electric-Meetup-BCN Admin Group.pptx2023-November-Schneider Electric-Meetup-BCN Admin Group.pptx
2023-November-Schneider Electric-Meetup-BCN Admin Group.pptxanimuscrm
14 visualizações19 slides
The Era of Large Language Models.pptx por
The Era of Large Language Models.pptxThe Era of Large Language Models.pptx
The Era of Large Language Models.pptxAbdulVahedShaik
5 visualizações9 slides
Unleash The Monkeys por
Unleash The MonkeysUnleash The Monkeys
Unleash The MonkeysJacob Duijzer
7 visualizações28 slides
360 graden fabriek por
360 graden fabriek360 graden fabriek
360 graden fabriekinfo33492
37 visualizações25 slides

Último(20)

Software testing company in India.pptx por SakshiPatel82
Software testing company in India.pptxSoftware testing company in India.pptx
Software testing company in India.pptx
SakshiPatel827 visualizações
Copilot Prompting Toolkit_All Resources.pdf por Riccardo Zamana
Copilot Prompting Toolkit_All Resources.pdfCopilot Prompting Toolkit_All Resources.pdf
Copilot Prompting Toolkit_All Resources.pdf
Riccardo Zamana8 visualizações
2023-November-Schneider Electric-Meetup-BCN Admin Group.pptx por animuscrm
2023-November-Schneider Electric-Meetup-BCN Admin Group.pptx2023-November-Schneider Electric-Meetup-BCN Admin Group.pptx
2023-November-Schneider Electric-Meetup-BCN Admin Group.pptx
animuscrm14 visualizações
The Era of Large Language Models.pptx por AbdulVahedShaik
The Era of Large Language Models.pptxThe Era of Large Language Models.pptx
The Era of Large Language Models.pptx
AbdulVahedShaik5 visualizações
Unleash The Monkeys por Jacob Duijzer
Unleash The MonkeysUnleash The Monkeys
Unleash The Monkeys
Jacob Duijzer7 visualizações
360 graden fabriek por info33492
360 graden fabriek360 graden fabriek
360 graden fabriek
info3349237 visualizações
DSD-INT 2023 Thermobaricity in 3D DCSM-FM - taking pressure into account in t... por Deltares
DSD-INT 2023 Thermobaricity in 3D DCSM-FM - taking pressure into account in t...DSD-INT 2023 Thermobaricity in 3D DCSM-FM - taking pressure into account in t...
DSD-INT 2023 Thermobaricity in 3D DCSM-FM - taking pressure into account in t...
Deltares9 visualizações
.NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra... por Marc Müller
.NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra....NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra...
.NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra...
Marc Müller38 visualizações
Fleet Management Software in India por Fleetable
Fleet Management Software in India Fleet Management Software in India
Fleet Management Software in India
Fleetable11 visualizações
BushraDBR: An Automatic Approach to Retrieving Duplicate Bug Reports por Ra'Fat Al-Msie'deen
BushraDBR: An Automatic Approach to Retrieving Duplicate Bug ReportsBushraDBR: An Automatic Approach to Retrieving Duplicate Bug Reports
BushraDBR: An Automatic Approach to Retrieving Duplicate Bug Reports
Ra'Fat Al-Msie'deen5 visualizações
Agile 101 por John Valentino
Agile 101Agile 101
Agile 101
John Valentino7 visualizações
Team Transformation Tactics for Holistic Testing and Quality (Japan Symposium... por Lisi Hocke
Team Transformation Tactics for Holistic Testing and Quality (Japan Symposium...Team Transformation Tactics for Holistic Testing and Quality (Japan Symposium...
Team Transformation Tactics for Holistic Testing and Quality (Japan Symposium...
Lisi Hocke28 visualizações
Airline Booking Software por SharmiMehta
Airline Booking SoftwareAirline Booking Software
Airline Booking Software
SharmiMehta5 visualizações
HarshithAkkapelli_Presentation.pdf por harshithakkapelli
HarshithAkkapelli_Presentation.pdfHarshithAkkapelli_Presentation.pdf
HarshithAkkapelli_Presentation.pdf
harshithakkapelli11 visualizações
DSD-INT 2023 Machine learning in hydraulic engineering - Exploring unseen fut... por Deltares
DSD-INT 2023 Machine learning in hydraulic engineering - Exploring unseen fut...DSD-INT 2023 Machine learning in hydraulic engineering - Exploring unseen fut...
DSD-INT 2023 Machine learning in hydraulic engineering - Exploring unseen fut...
Deltares7 visualizações
Software evolution understanding: Automatic extraction of software identifier... por Ra'Fat Al-Msie'deen
Software evolution understanding: Automatic extraction of software identifier...Software evolution understanding: Automatic extraction of software identifier...
Software evolution understanding: Automatic extraction of software identifier...
Ra'Fat Al-Msie'deen7 visualizações
DevsRank por devsrank786
DevsRankDevsRank
DevsRank
devsrank78611 visualizações
ict act 1.pptx por sanjaniarun08
ict act 1.pptxict act 1.pptx
ict act 1.pptx
sanjaniarun0813 visualizações
A first look at MariaDB 11.x features and ideas on how to use them por Federico Razzoli
A first look at MariaDB 11.x features and ideas on how to use themA first look at MariaDB 11.x features and ideas on how to use them
A first look at MariaDB 11.x features and ideas on how to use them
Federico Razzoli45 visualizações
Dev-HRE-Ops - Addressing the _Last Mile DevOps Challenge_ in Highly Regulated... por TomHalpin9
Dev-HRE-Ops - Addressing the _Last Mile DevOps Challenge_ in Highly Regulated...Dev-HRE-Ops - Addressing the _Last Mile DevOps Challenge_ in Highly Regulated...
Dev-HRE-Ops - Addressing the _Last Mile DevOps Challenge_ in Highly Regulated...
TomHalpin95 visualizações

Ecological Impact of Native vs. Cross-Platform Mobile Apps: a Preliminary Study

  • 1. Ecological Impact of Native vs. Cross-Platform Mobile Apps: a Preliminary Study Vincent Frattaroli, Olivier Le Goaër, Olivier Philippot The 6th International Workshop on Advances in Mobile App Analysis September 15th , 2023
  • 2. Mobile software eaten the world… From “There's an App for That” (Apple, 2009), 13 years of continuous growth Mobile software has yielded new addictive behaviours* The industry of mobile development has undergone profound mutations 6.84 billion smartphones 8.93 million mobile apps *Richard J.E. James et al., “Understanding the construction of ‘behavior’ in smartphone addiction: A scoping review”, Addictive Behaviors (Volume 137), February 2023
  • 3. …while the world is facing climate change Manufacturing user devices is the primary source of GHG in ICT field Increasingly demanding software is driving the need to renew hardware Software developers must play their part in the Green Deal (Europe) Software-driven hardware obsolescence
  • 4. Eco-friendly dev stack Patterns & tactics Apply best coding practices to save energy [3] 3 Langages & runtime Choose energy-efficient programming languages [2] 2 Development methodology Choose the right type of development to save energy [1] 1 [1] R. Horn et al., “Native vs Web Apps: Comparing the Energy Consumption and Performance of Android Apps and their Web Counterparts”, IEEE/ACM MOBILESoft 2023, Melbourne, Australia, pp. 44-54. [2] Rui Pereira et al. “Ranking Programming Languages by Energy Efficiency”. Science of Computer Programming, volume 205. Elsevier, 2021 [3] Luis Cruz and Rui Abreu. 2019. “Catalog of energy patterns for mobile applications”. Empirical Software. Engineering. 24, 4 (August 2019)
  • 5. Trendy cross-platform solutions “Write once, run everywhere” motto Kotlin Multiplatform Mobile React Native Flutter
  • 6. Joint work for this study Greenspector 03 ● Mobile measurement company ● Testbench for Android and iOS apps University of Pau / E2S 02 ● Software engineering team ● Research on “Green Software” inside|app 01 ● Mobile app development company ● Build validation app
  • 8. Crosscutting the carbon 3-tier Device Network infrastructure Cloud/Data center (including app stores)
  • 9. 5 codebases, 8 app variants Development kind Framework (version) Target OS Native Swift (5.6) Native Kotlin (1.6.10) Crossplatform KMM (0.3.2) Crossplatform Flutter (2.16.0) Crossplatform React Native (0.69) https://github.com/orgs/TurnipOffApp/repositories
  • 10. Preliminary remarks There is no zoo of mobile apps coded using different methods Coding 1 realistic app using the 5 methods is time consuming (≅10 man-days) Performing such a comparative study on dozens of apps is cumbersome Native & cross-platform development is evolving at a very fast pace
  • 11. Validation app (Worst Movies) Screenshots (iOS) Baseline for a fair comparison ● End user viewpoint ○ Same look&feel ○ Same journey ● Developer viewpoint ○ No advanced architecture ○ No fine-tuning ○ No third-party libraries
  • 12. Testbench in a nutshell powered by Greenspector Developer’s computer GDSL test script App under test 1 - Send test file and app package Real Smartphones Test bench Server Core server Back-end Server Greenspector Premises Web Interface (Dashboard) Result recording 3 - Displaying results 2 - Waiting for live measurements Communication needed if application requires backend access Communication needed if application requires backend access Domain-specific language for fully automated testing
  • 13. Results (partial) Development App size (KB) Data transfer (KB) Energy (mAh) Swift N/A 216 N/A ? N/A 8,59 Kotlin 1200 N/A 944 N/A 21,60 N/A KMM 3600 1600 932 ? 21,66 ? Flutter 17500 18000 1190 ? 18,27 9,19 React Native 27300 13100 706 ? 19,45 11,62 Average data from 10 repetitions
  • 14. At first glance Native development is indisputably the best solution on both OS React Native is by far the less data-intensive solution over the network on Android (No data regarding iOS) Flutter is doing very well in terms of energy-savings, on both OS
  • 15. Takeways Targeting iOS only Apps with few network interactions Other cases Always Native development In general, Native development No general rule of thumb But nothing beats an app “sober-by-design”
  • 16. Conclusion Ecological impact of app development methods is an understudied topic Including iOS in the study is our pride, but also our weakness (missing values) This study ought to be continued: repeat experiment, new releases, etc. Our github repo may bootstrap research works about native vs. cross-platform
  • 17. Thank you for your attention