UIKit

UIKit
DeveloperApple Inc.
Written inObjective-C, Swift
Operating systemiOS, iPadOS, tvOS
TypeSoftware framework
LicenseProprietary
WebsiteUIKit | Apple Developer

UIKit is an application development environment and graphical user interface toolkit from Apple Inc. used to build apps for the iOS, iPadOS, watchOS, tvOS, and visionOS operating systems.

UIKit provides an abstraction layer of iOS, the operating system for the iPhone, iPod Touch, and iPad. UIKit is similar to AppKit from the macOS Cocoa API toolset, and it too is primarily written in the Objective-C language. UIKit allows the use of hardware and features that are not found in macOS computers and are thus unique to the iOS range of devices. Like AppKit, UIKit follows a Model–View–Controller (MVC) software architecture. UIKit also supports the scene-based app life cycle and provides APIs for managing an app's interface and environment across supported devices and window configurations.

UIKit contains a different set of graphical control elements from AppKit. Tools for developing applications based on UIKit are included in the iOS SDK.

UIKit in relation to other layers

iOS, watchOS, and tvOS technologies can be seen as a set of layers, with UIKit at the highest level and the core operating system / kernel at the bottom.

A hierarchical view of the iOS, watchOS, and tvOS technologies can be shown as follows:

  1. UIKit
  2. Media / Application Services
  3. Core Services
  4. Core OS / iOS kernel

Main features

Some of the main features and technologies of UIKit are:

Main frameworks

UIKit provides the key frameworks for developing applications on devices running iOS, and is based atop Foundation Kit. Other frameworks built by Apple that complement AppKit are:

Ports

Microsoft's WinObjC, the GNUstep-based iOS bridge for the Universal Windows Platform, contains working implementations of frameworks such as Foundation, UIKit, and MapKit released under the MIT License. One of the UIKit implementations is based on XAML.

Various efforts have been made to bring UIKit to macOS. Some of them are listed as follows:

References

  1. ↑ "UIKit". Apple Developer. Retrieved September 28, 2026.
  2. ↑
  3. ↑ "App and environment". Apple Developer. Retrieved September 28, 2026.
  4. ↑
  5. ↑ "microsoft/WinObjC/Frameworks: Objective-C for Windows". GitHub. Retrieved February 17, 2020.
  6. ↑ "WinObjC: Migrating UIKit Controls to XAML". GitHub.
  7. ↑ Heber, Sean. "BigZaphod/Chameleon: Chameleon is a port of Apple's UIKit for iOS (and some minimal related frameworks) to Mac OS X." GitHub.
  8. ↑ "ZeeZide/UXKit: Write code that works on both, UIKit and AppKit". GitHub. ZeeZide. December 19, 2019. Retrieved February 17, 2020.
  9. ↑ Hall, Zac (February 5, 2015). "UIKit-like framework called UXKit used in Photos for Mac". 9to5Mac.
  10. ↑ Demasi, Adam (June 7, 2018). "A quick look at UIKit on macOS".
  11. ↑ "Mac Catalyst". Apple Developer Documentation. Retrieved February 17, 2020.