Understanding SwiftUI — What is SwiftUI? 🧐
2 min readFeb 26, 2023
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.
Originally published at https://blog.shivammaggu.com.