SlideShare une entreprise Scribd logo
1  sur  17
Télécharger pour lire hors ligne
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

Contenu connexe

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

PowDroid: Energy Profiling of Android Applications (ASE 2021 [Workshop] SUSTA...
PowDroid: Energy Profiling of Android Applications (ASE 2021 [Workshop] SUSTA...PowDroid: Energy Profiling of Android Applications (ASE 2021 [Workshop] SUSTA...
PowDroid: Energy Profiling of Android Applications (ASE 2021 [Workshop] SUSTA...Olivier Le Goaër
 
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...
MobiCloud: Towards Cloud Mobile Hybrid Application Generation using Semantica...Amit Sheth
 
A methodology for model driven multiplatform mobile application development
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
 
A methodology for model driven multiplatform mobile application development
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
 
What is The Best Platform for Mobile App Development.pdf
What is The Best Platform for Mobile App Development.pdfWhat is The Best Platform for Mobile App Development.pdf
What is The Best Platform for Mobile App Development.pdfSjainVentures2
 
[2015/2016] Mobile thinking
[2015/2016] Mobile thinking[2015/2016] Mobile thinking
[2015/2016] Mobile thinkingIvano Malavolta
 
Cross Platform Development Using Flutter
Cross Platform Development Using FlutterCross Platform Development Using Flutter
Cross Platform Development Using Fluttervivatechijri
 
Towards application development for the internet of things
Towards application development for the internet of thingsTowards application development for the internet of things
Towards application development for the internet of thingsPankesh Patel
 
Appear IQ The Business Case for hybrid html5 mobile apps
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 appsAppear
 
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 ...
Leveraging mobile devices to enhance the performance and ease of programming ...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 ...
LEVERAGING MOBILE DEVICES TO ENHANCE THE PERFORMANCE AND EASE OF PROGRAMMING ...IJITE
 
Test Cases and Testing Strategies for Mobile Apps –A Survey
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 SurveyIRJET Journal
 
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?
Where Do Cross-Platform App Frameworks Stand in 2020?Marianne Harness
 
Inria - Software assets - Energy
Inria - Software assets - EnergyInria - Software assets - Energy
Inria - Software assets - EnergyInria
 
Large-Scale Empirical Studies of Mobile Apps
Large-Scale Empirical Studies of Mobile AppsLarge-Scale Empirical Studies of Mobile Apps
Large-Scale Empirical Studies of Mobile AppsSAIL_QU
 
IRJET- Cross-Platform Supported E-Learning Mobile Application
IRJET- Cross-Platform Supported E-Learning Mobile ApplicationIRJET- Cross-Platform Supported E-Learning Mobile Application
IRJET- Cross-Platform Supported E-Learning Mobile ApplicationIRJET Journal
 
5 Factors of Mobile App Development & What is Native App.pdf
5 Factors of Mobile App Development & What is Native App.pdf5 Factors of Mobile App Development & What is Native App.pdf
5 Factors of Mobile App Development & What is Native App.pdfLeed Software Development
 
James e owen resume detailed jan 2-16
James e owen resume detailed jan 2-16James e owen resume detailed jan 2-16
James e owen resume detailed jan 2-16James Owen
 

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

PowDroid: Energy Profiling of Android Applications (ASE 2021 [Workshop] SUSTA...
PowDroid: Energy Profiling of Android Applications (ASE 2021 [Workshop] SUSTA...PowDroid: Energy Profiling of Android Applications (ASE 2021 [Workshop] SUSTA...
PowDroid: Energy Profiling of Android Applications (ASE 2021 [Workshop] SUSTA...
 
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...
MobiCloud: Towards Cloud Mobile Hybrid Application Generation using Semantica...
 
A methodology for model driven multiplatform mobile application development
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
 
A methodology for model driven multiplatform mobile application development
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
 
What is The Best Platform for Mobile App Development.pdf
What is The Best Platform for Mobile App Development.pdfWhat is The Best Platform for Mobile App Development.pdf
What is The Best Platform for Mobile App Development.pdf
 
[2015/2016] Mobile thinking
[2015/2016] Mobile thinking[2015/2016] Mobile thinking
[2015/2016] Mobile thinking
 
Cross Platform Development Using Flutter
Cross Platform Development Using FlutterCross Platform Development Using Flutter
Cross Platform Development Using Flutter
 
Orban Widetag
Orban   WidetagOrban   Widetag
Orban Widetag
 
Towards application development for the internet of things
Towards application development for the internet of thingsTowards application development for the internet of things
Towards application development for the internet of things
 
Appear IQ The Business Case for hybrid html5 mobile apps
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
 
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 ...
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 ...LEVERAGING MOBILE DEVICES TO ENHANCE THE PERFORMANCE AND EASE OF PROGRAMMING ...
LEVERAGING MOBILE DEVICES TO ENHANCE THE PERFORMANCE AND EASE OF PROGRAMMING ...
 
Test Cases and Testing Strategies for Mobile Apps –A Survey
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
 
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?
Where Do Cross-Platform App Frameworks Stand in 2020?
 
Inria - Software assets - Energy
Inria - Software assets - EnergyInria - Software assets - Energy
Inria - Software assets - Energy
 
Large-Scale Empirical Studies of Mobile Apps
Large-Scale Empirical Studies of Mobile AppsLarge-Scale Empirical Studies of Mobile Apps
Large-Scale Empirical Studies of Mobile Apps
 
IRJET- Cross-Platform Supported E-Learning Mobile Application
IRJET- Cross-Platform Supported E-Learning Mobile ApplicationIRJET- Cross-Platform Supported E-Learning Mobile Application
IRJET- Cross-Platform Supported E-Learning Mobile Application
 
5 Factors of Mobile App Development & What is Native App.pdf
5 Factors of Mobile App Development & What is Native App.pdf5 Factors of Mobile App Development & What is Native App.pdf
5 Factors of Mobile App Development & What is Native App.pdf
 
James e owen resume detailed jan 2-16
James e owen resume detailed jan 2-16James e owen resume detailed jan 2-16
James e owen resume detailed jan 2-16
 
Mobilesoft 2017 Keynote
Mobilesoft 2017 KeynoteMobilesoft 2017 Keynote
Mobilesoft 2017 Keynote
 

Plus de Olivier Le Goaër

Enforcing Green Code With Android Lint
Enforcing Green Code With Android LintEnforcing Green Code With Android Lint
Enforcing Green Code With Android LintOlivier Le Goaër
 
GREEN PAUWARE - For a power-thrifty mobile app marketplace
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
 
Les Web Services en 60 diapos chrono !
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
 
Executable modeling & dynamic adaptation
Executable modeling & dynamic adaptationExecutable modeling & dynamic adaptation
Executable modeling & dynamic adaptationOlivier Le Goaër
 
Adaptation d'exécution de modèles : vers des iDSML adaptables
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 adaptablesOlivier Le Goaër
 
Android executable modeling: beyond android programming
Android executable modeling: beyond android programmingAndroid executable modeling: beyond android programming
Android executable modeling: beyond android programmingOlivier Le Goaër
 
Yet another DSL for cross platforms mobile development
Yet another DSL for cross platforms mobile developmentYet another DSL for cross platforms mobile development
Yet another DSL for cross platforms mobile developmentOlivier Le Goaër
 
Introduction à l'approche ADM de l'OMG
Introduction à l'approche ADM de l'OMGIntroduction à l'approche ADM de l'OMG
Introduction à l'approche ADM de l'OMGOlivier 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]
Syntaxe concrète des DSL en IDM [avec Xtext]Olivier Le Goaër
 

Plus de Olivier Le Goaër (14)

The road to green code
The road to green codeThe road to green code
The road to green code
 
Enforcing Green Code With Android Lint
Enforcing Green Code With Android LintEnforcing Green Code With Android Lint
Enforcing Green Code With Android Lint
 
GREEN PAUWARE - For a power-thrifty mobile app marketplace
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
 
Introduction au langage SQL
Introduction au langage SQLIntroduction au langage SQL
Introduction au langage SQL
 
Les Web Services en 60 diapos chrono !
Les Web Services en 60 diapos chrono !Les Web Services en 60 diapos chrono !
Les Web Services en 60 diapos chrono !
 
Executable modeling & dynamic adaptation
Executable modeling & dynamic adaptationExecutable modeling & dynamic adaptation
Executable modeling & dynamic adaptation
 
Cours JavaScript
Cours JavaScriptCours JavaScript
Cours JavaScript
 
Adaptation d'exécution de modèles : vers des iDSML adaptables
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
 
Formation VBA Excel
Formation VBA ExcelFormation VBA Excel
Formation VBA Excel
 
Android executable modeling: beyond android programming
Android executable modeling: beyond android programmingAndroid executable modeling: beyond android programming
Android executable modeling: beyond android programming
 
Yet another DSL for cross platforms mobile development
Yet another DSL for cross platforms mobile developmentYet another DSL for cross platforms mobile development
Yet another DSL for cross platforms mobile development
 
Introduction à l'approche ADM de l'OMG
Introduction à l'approche ADM de l'OMGIntroduction à l'approche ADM de l'OMG
Introduction à l'approche ADM de l'OMG
 
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]
Syntaxe concrète des DSL en IDM [avec Xtext]
 
Programmation sous Android
Programmation sous AndroidProgrammation sous Android
Programmation sous Android
 

Dernier

TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationkaushalgiri8080
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyFrank van der Linden
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 

Dernier (20)

TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The Ugly
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 

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