Understanding SwiftUI - What is SwiftUI? ๐ง
In this concise and no-nonsense article, let's postulate what SwiftUI is and why it is all the hype within the iOS developer community.
Table of contents
Requirements
The minimum deployment target version is iOS 13 and above.
SwiftUI development is supported by Xcode version 11 and above.
The basics
SwiftUI is a UI Design Framework just like its predecessor, the UIKit.
It uses the Declarative programming approach as opposed to Imperative programming.
In simple words, we inform the framework of what should be done based on a state change and it handles the rest.
Whereas in the Imperative approach, we keep track of the state and instruct the framework on how to change the UI.
SwiftUI uses struct to create views instead of class.
Pros
SwiftUI helps developers write simple, clean and less code.
It manages the state better than the Imperative approach of UIKit.
Supports cross-platform development for iOS/iPadOS, macOS, tvOS and watchOS.
It uses Live Previews instead of building the project to view UI changes.
There are no auto layout issues as it always generates satisfiable layouts.
People working in teams no longer have to suffer merge conflicts in storyboards. ๐
It can be used alongside UIKit using UIHostingController.
It supports reactive programming using ObjectBinding, BindableObject and the Combine Framework.
Cons
Users with iOS version 12 and below will not be able to use apps developed with SwiftUI.
Team development might take more time as others might not be familiar with SwiftUI.