SlideShare a Scribd company logo
1 of 17
Download to read offline
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

More Related Content

Similar to 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
 

Similar to 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
 

More from 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
 

More from 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
 

Recently uploaded

Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesŁukasz Chruściel
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
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
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Matt Ray
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfFerryKemperman
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
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
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....kzayra69
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)jennyeacort
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtimeandrehoraa
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfStefano Stabellini
 

Recently uploaded (20)

2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
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
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdf
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
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
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtime
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.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