Why Ollie is moving away from SwiftUI to UIKit

submited by
Style Pass
2024-05-13 03:00:07

A few months ago, we made the decision to move away from SwiftUI & Swift Concurrency for our application and to move the core of our app to UIKit and Dispatch. We have migrated all screen and navigation management to UIKit recently in our app and it allowed us to remove several categories of hacks and solved a bunch of performance issues & bugs we had.

We will still use SwiftUI for simple screens like onboarding or settings screens, but complicated things like collection views or anything else we need to not be bug prone, we will use UIKit.

People who are making more typical server client apps with SwiftUI and Swift Concurrency have a good chance of not running into our issues due to the lack of threading & resource stress. They do not need to maintain local state consistently on their device, since they can rely on a backend to properly maintain state for themselves. This kind of app will probably have a much nicer time with SwiftUI.

At the beginning we were pretty excited to work on a new app with all the latest Swift libraries, but we have found it a painful, incomplete system to work with once you start making something substantial with it.

Leave a Comment