After all the weeks in which SwiftUI 2.0 has been released, I’ll comment on it in this article. SwiftUI is excellent, but it also shows shortcomings at the moment.
I love programming apps, be it for iPhones or Macs and that’s one of the shortcomings. If I program a SwiftUI app, the customer needs at least iOS 13 and macOS 10.15 and if I want to use the new features of the second version, the customer needs iOS 14 and macOS 11. These restrictions are also the limits of SwiftUI and therefore I am forced to continue to use UIKit.
So I would go so far as to continue to love UIKit. You can rely on UIKit and therefore it will be a few years before I will switch completely to SwiftUI. Exactly complete, because luckily it is possible to integrate SwiftUI elements (e.g. widgets) into the UIKit app. You are actually forced to do so, because the widgets are based on SwiftUI.
Don’t get me wrong, I see great potential in SwiftUI, but as a complete iOS and macOS developer, there is no way around UIKit at the moment. So when I start and create a new project, I will use UIKit as a basis for more years.
Of course, changes don’t mean bad things, and it’s similar to transforming Objective-C to Swift. Even after almost 5 years, Objective-C is still an integral part of the market. Since many established apps still have elements of Objective-C and especially in macOS, it is still a big topic.
So my conclusion is that you shouldn’t just rely on SwiftUI, even if the hype is very high at the moment. As an iOS (macOS) developer, there is still no way around UIKit. Therefore it is important not to delete UIKit from memory, just as it is important to learn SwiftUI.