I’ve used Swift and UIKit in the past, but I haven’t touched iOS development in a good couple of years.
I’m about to start a new project and I suspect it will take me 4-6 months part time whilst learning again as I go. Do you think I should go all in on SwiftUI, or use UIKit for now and then add some SwiftUI over time. I’m a little concerned with it being iOS 13 only, but I guess iOS 14 might be close by the time I’m done
SwiftUI is very new, it doesn’t cover all the UI components that you can find in UIKit. In some cases, you may also need to integrate UIKit with SwiftUI.
When Swift first was introduced, I decided to embrace the language and build an app with it. The next year Swift 2 was introduced and now I had to deal with thousands of bugs in my app. There were numerous syntax and api changes in version 2. So many that it took me about a month to get my app working again. My suggestion is to build your app for now in Swift and then as version 2 or 3 of SwiftUI become available replace code with SwiftUI.
I would look at the nature of the project that you’re trying to build first, and then look at some of the tutorials that are out there. Quite a bit of tutorials have been written on using SwiftUI, and if your project is not complex enough, such that it can be done in SwiftUI, I would suggest you consider doing it in SwiftUI to get the experience on a new technology stack for iOS.
That being said, the safest thing would be to do it using UIKit. It is not being deprecated by any means, and SwiftUI unfortunately is still quite new to be fully capable of handling all situations.