Evaluating cross-platform mobile app performance with video-based measurements
Saarinen, Jarkko (2019)
Saarinen, Jarkko
2019
Tietojenkäsittelytieteiden tutkinto-ohjelma - Degree Programme in Computer Sciences
Informaatioteknologian ja viestinnän tiedekunta - Faculty of Information Technology and Communication Sciences
This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Hyväksymispäivämäärä
2019-05-02
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tuni-201905161720
https://urn.fi/URN:NBN:fi:tuni-201905161720
Tiivistelmä
Smartphone sales are nowadays centered around two platforms: Apple’s iOS and Google’s Android. These two platforms are vastly different and generally a native app made for one platform can’t be used on the other, which means that organizations have to develop two separate apps to reach customers on both platforms. Several cross-platform mobile app development tools have been created to address this issue by allowing developers to write the app once and have the tool work as an intermediary that makes the app run on both platforms. These tools generally work by using workarounds and creating abstractions on top of native SDKs, which can cause performance overhead. This study investigated the performance of apps created with these kinds of tools when compared to native apps.
To test the performance of apps created with these tools, a benchmarking app was implemented with five different cross-platform development tools and the native development tools of Android and iOS. The tests measured how fast apps could perform tasks like opening a new screen and reacting to a button press. Collecting measurements that are comparable between apps created with different tools was done by adopting a method previously used to test input lag in games. This method involves recording a video of the device running the test and then the video is analyzed frame by frame. The videos were captured using a high-speed video camera and screen recording software.
The results showed that the cross-platform apps often have some areas where they perform worse than their native counterparts, especially on Android. These problematic areas included app launch times, moving between screens and displaying a list of items. The performance disadvantages however weren’t generally significant enough to make using cross-platform tools a bad choice for organizations looking to reduce their app development costs, but some attention needs to be paid when selecting which tool to use.
To test the performance of apps created with these tools, a benchmarking app was implemented with five different cross-platform development tools and the native development tools of Android and iOS. The tests measured how fast apps could perform tasks like opening a new screen and reacting to a button press. Collecting measurements that are comparable between apps created with different tools was done by adopting a method previously used to test input lag in games. This method involves recording a video of the device running the test and then the video is analyzed frame by frame. The videos were captured using a high-speed video camera and screen recording software.
The results showed that the cross-platform apps often have some areas where they perform worse than their native counterparts, especially on Android. These problematic areas included app launch times, moving between screens and displaying a list of items. The performance disadvantages however weren’t generally significant enough to make using cross-platform tools a bad choice for organizations looking to reduce their app development costs, but some attention needs to be paid when selecting which tool to use.