UIKit vs SwiftUI: Was wählen Entwickler im Jahr 2024?
Die Community der Swift-Entwickler ist seit langem in zwei Lager gespalten: Konservative, die dem UIKit treu sind, und Enthusiasten, die SwiftUI erkunden. Aber was wird tatsächlich in echten Projekten verwendet? Eine aktuelle Umfrage unter iOS/macOS-Ingenieuren auf großen Konferenzen und in professionellen Chats hat überraschende Ergebnisse gezeigt.
Methodik der Umfrage
An der Umfrage nahmen über 850 Ingenieure aus Russland, der GUS und Europa teil, die an Produktionsprojekten arbeiten (Apps im App Store, Unternehmenslösungen, SaaS-Produkte). Die Befragten wurden gebeten, das Haupt-Framework für die Benutzeroberfläche sowie zusätzliche Tools wie Combine, Async/Await, Core Data, Realm und andere anzugeben.
Wichtigste Zahlen
- UIKit – 58% der Befragten verwenden es als Haupt-Framework für iOS/macOS in der Produktion.
- SwiftUI – 32% der Entwickler haben es bereits in Produktionsprojekten implementiert, jedoch meist im Hybridmodus mit UIKit.
- Reines SwiftUI (ohne UIKit) – nur 10% der Befragten haben den vollständigen Umstieg gewagt.
- Combine wird in 45% der Projekte verwendet, meist zusammen mit UIKit.
- Async/await (strukturierte Nebenläufigkeit) – 67% der Entwickler verwenden es bereits in der Produktion, unabhängig von der Wahl des UI-Frameworks.
Warum ist UIKit immer noch führend?
Trotz der aktiven Förderung von SwiftUI durch Apple bleibt UIKit das „Arbeitspferd“ der Branche. Die Hauptgründe:
- Reife und Stabilität – UIKit existiert seit über 10 Jahren, sein Verhalten ist vorhersagbar.
- Kompatibilität – eine enorme Menge an Legacy-Code und Drittanbieter-Bibliotheken ist an UIKit gebunden.
- Flexibilität – UIKit ermöglicht die Implementierung komplexer, benutzerdefinierter UI-Elemente, die in SwiftUI Workarounds erfordern.
- macOS Catalyst – viele portieren iPad-Apps über UIKit auf den Mac.
SwiftUI: Durchbruch oder Experiment?
SwiftUI gewinnt rasant an Fahrt, insbesondere bei Startups und neuen Projekten. Die Produktionserfahrung zeigt jedoch, dass SwiftUI immer noch unter folgenden Problemen leidet:
- Eingeschränkte Unterstützung für komplexe Animationen und benutzerdefinierte Layouts.
- Leistungsprobleme bei großen Listen (LazyVStack vs UICollectionView).
- Unvollständige Abwärtskompatibilität (SwiftUI erfordert iOS 13+, während viele Unternehmen iOS 15+ unterstützen).
Dennoch verwenden bereits 32% der Befragten SwiftUI in der Produktion – ein Anstieg von 12% im Vergleich zu 2023. Der Trend ist offensichtlich: In den nächsten 2-3 Jahren könnte SwiftUI UIKit bei der Anzahl neuer Projekte überholen.
Zusätzliche Tools: Was ist noch im Einsatz?
Die Umfrage behandelte auch Stacks für die Daten- und Netzwerkarbeit:
- Alamofire – 34% (wird allmählich durch URLSession + async/await ersetzt).
- Core Data – 28% (hauptsächlich in älteren Projekten).
- Realm – 15% (rückläufige Beliebtheit aufgrund des Rückzugs von MongoDB aus der aktiven Unterstützung).
- SwiftData – 12% (neues Apple-Framework, wird gerade erst eingeführt).