There are two frameworks to develop iOS apps: UIKit and SwiftUI. UIKit uses Model View Controller (MVC) development paradigm to design apps. Developers drag and drop UI items onto the Storyboard and connect them to view controller classes. UIKit is an event-driven framework, where events are handled through delegates.

On the contrary, SwiftUI is a state-driven declarative framework. The views are created by writing the code instead of dragging and dropping view items onto the Storyboard. SwiftUI uses reactive development paradigm, where events are handled by anonymous functions (called closures).