A comparative analysis between native and cross-platform mobile application development: A performance analysis and development comparison between Swift and React Native applications for iOS
2023 (English)Independent thesis Basic level (degree of Bachelor), 10 credits / 15 HE credits
Student thesis
Abstract [sv]
Jakten för att kunna köra samma kod på flera olika operativsystem har gått hand i hand med mobilapplikationsutvecklingens historia. Teoretiskt låter det som en mycket mer praktisk metod av utveckling jämfört med att behöva göra flera applikationer för flera operativsystem. Däremot har det historiskt sett haft många problem och hinder i dess utveckling och i prestanda. Detta arbete är en longitudinell studie som vill ge en pratisk jämförelse av native och cross-platform mobilapplikationsutveckling i dagens miljö. Två identiska applikationer utvecklades, en native med Swift och den andra med cross-platform verktyget React Native, som sedan testated med XCODEs analysverktyg Instruments. Utvecklingen följde de standarder som finns i industrin och applikationen var designad så att den speglar verkliga användningsområden. Utvärderingen fokuserade på prestanda, användarnas åsikter och utvecklarnas erfarenheter. De prestandamåtten som användes var laddtider, minnes- och CPU-användning, batterikonsumption och applikationsstorlek. Resultatet visade att det fanns vissa prestandaskillnader men att de oftast var tillräckligt små att de inte märktes av användarna i verkligheten. Däremot verkar dessa skillnader öka då belastningen på applikationerna ökar. De största prestandamässiga skillnaderna observerades i CPU-användning, batterikonsumption och applikationsstorlek där Swift fick bättre resultat i alla tre. Baserat på dessa resultat drogs slutsatsen att valet av att använda ett cross-platform verktyg eller att bygga natively kommer att bero på utvecklarnas tidigare erfarenheter, om de kommer från en webbutvecklingsbakgrund eller mobilapplikationsbakgrund samt de olika mindre restriktionerna som finns med de båda valen.
Abstract [en]
The strive towards a one-code base solution has gone hand-in-hand with the history of mobile application development. Theoretically, it is a more sound and optimal method of development when compared with a native approach. However, it has historically been met with challenges and limitations in its development process and resultant performance. This thesis is a longitudinal study that aims to provide a practical comparison between native and cross-platform mobile application development. Two identical applications were developed, one natively with Swift and the other with the cross-platform framework React Native, and then assessed using XCODE’s analytical tool, Instruments. The development process followed industry standards, and the applications were designed to simulate real-world scenarios. The evaluation focused on performance, user perception, and development experience. The performance evaluation, including access time, memory and CPU utilization, battery consumption, and application size. The study has shown that there do exist performance differences, however, they were often insignificant and went unnoticed in a practical setting. However, these disparities become more prominent as the workload increases. The most notable differences were observed in CPU utilization, battery consumption, and application size; where Swift yielded better results. Based on these findings, it was concluded that the choice between native and cross-platform approaches largely depends on the developers’ existing experience, whether they are familiar with web development or mobile application development, and the accessibility restrictions they face.
Place, publisher, year, edition, pages
2023. , p. 85
Keywords [en]
Native, Cross-platform, Mobile Application Development, Swift, React Native
National Category
Software Engineering
Identifiers
URN: urn:nbn:se:miun:diva-48579Local ID: DT-V23-G3-011OAI: oai:DiVA.org:miun-48579DiVA, id: diva2:1773258
Subject / course
Computer Engineering DT1
Educational program
Master of Science in Engineering - Computer Engineering TDTEA 300 higher education credits
Supervisors
Examiners
2023-06-222023-06-222023-06-22Bibliographically approved