Return to search

Performance analysis of SwiftUI and UIKit : A comparison of CPU time and memory usage for common user interface elements / En jämförelse av CPU-tid och minnesanvänding för vanliga användargränssnittselement

In today's digital era, smartphones have evolved into an important part of our daily routine, thereby raising the bar for high-quality applications that deliver premium user experiences. In this landscape, UIKit and SwiftUI have emerged as two noteworthy user interface frameworks in the realm of iOS development, with UIKit having a longstanding foothold and SwiftUI displaying newer declarative coding style. The primary objective of this research was to investigate the performance of SwiftUI against UIKit, given the important role performance plays in shaping user experiences. Our investigative journey involved comparing the frameworks' performance based on parameters such as CPU time and memory usage for common user interface components. Our insights revealed that UIKit held a performance advantage over SwiftUI, generally outperforming it by approximately 25% when the component count was less than 32 and also displaying a consistent trend of lower memory consumption. This difference in performance could be consequential in contexts related to social media applications, where even minor delays can disrupt the user experience. SwiftUI extends advantages like reduced code length, faster development time, real-time previews, and enhanced code readability. Therefore, the decision of choosing between UIKit or SwiftUI should be driven by the particular requirements of the application in question rather than solely focusing on its performance. The study does carry certain limitations, including the absence of exact equivalent components between UIKit and SwiftUI in some scenarios, and a limited set of benchmarked iPhone models. / I dagens digitala era har smartphones utvecklats till en viktig del av vår dagliga rutin, och höjer därigenom ribban för högkvalitativa applikationer som levererar förstklassiga användarupplevelser. I detta landskap har UIKit och SwiftUI dykt upp som två anmärkningsvärda UI-ramverk inom iOS-utvecklingens område, med UIKit som har ett långvarigt fotfäste och SwiftUI visar nyare deklarativ kodningsstil. Det primära syftet med denna forskning var att undersöka prestandan hos SwiftUI mot UIKit, med tanke på den viktiga roll prestanda spelar för att forma användarupplevelser. Vår undersökningsresa innebar att jämföra ramverkens prestanda baserat på parametrar som CPU-tid och minnesanvändning för vanliga UI-komponenter. Våra insikter avslöjade att UIKit hade en prestandafördel gentemot SwiftUI, i allmänhet överträffade den med cirka 25% när komponentantalet var mindre än 32 och visade också en konsekvent trend med lägre minnesförbrukning. Denna skillnad i prestanda kan vara följdriktig i sammanhang relaterade till sociala medieapplikationer, där även mindre förseningar kan störa användarupplevelsen.  SwiftUI utökar fördelar som minskad kodlängd, snabbare utvecklingstid, förhandsvisningar i realtid och förbättrad kodläsbarhet. Därför bör beslutet att välja mellan UIKit eller SwiftUI styras av de särskilda kraven för applikationen i fråga snarare än att enbart fokusera på dess prestanda. Studien har vissa begränsningar, inklusive frånvaron av exakt likvärdiga komponenter mellan UIKit och SwiftUI i vissa scenarier, och en begränsad uppsättning benchmarkerade iPhone-modeller.

Identiferoai:union.ndltd.org:UPSALLA1/oai:DiVA.org:kth-334282
Date January 2023
CreatorsRonneling, Benjamin
PublisherKTH, Skolan för elektroteknik och datavetenskap (EECS), Stockholm : KTH Royal Institute of Technology
Source SetsDiVA Archive at Upsalla University
LanguageEnglish
Detected LanguageSwedish
TypeStudent thesis, info:eu-repo/semantics/bachelorThesis, text
Formatapplication/pdf
Rightsinfo:eu-repo/semantics/openAccess
RelationTRITA-EECS-EX ; 2023:427

Page generated in 0.0017 seconds