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
Any advice would be greatly appreciated!
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.
Thanks for the reply. So with that in mind, would you focus more on UIKit and add SwiftUI later?
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.
Stick to UIKit: it’s still going to be there in 5 years, and you kind of already know it.
SwithUi is too young, everything can change, even API, must have bugs, be too stiff, and so on…
@stevepsharpe Thanks very much for your question!
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.
I hope this helps!
All the best.
This topic was automatically closed after 166 days. New replies are no longer allowed.