UIKit и AppKit — это основные UI-фреймворки Apple, каждый разработан для разных платформ и парадигм взаимодействия.
UIKit предназначен для iOS и iPadOS, оптимизирован для сенсорного взаимодействия. Основные характеристики:
UIViewController с чётко определённым жизненным циклом (viewDidLoad, viewWillAppear и т.д.)UIWindow, UIView и UIControl как основные компонентыAppKit предназначен для macOS, оптимизирован для мыши и клавиатуры. Основные характеристики:
NSWindow, NSView и NSViewController как основные компонентыNSMenuNSToolbar для панелей инструментов уровня окна| Концепция | UIKit | AppKit |
|---|---|---|
| View Controller | UIViewController | NSViewController |
| Окно | UIWindow | NSWindow |
| Ввод | Сенсор/Жесты | Мышь/Клавиатура |
| Меню | Ограничены | NSMenu (полноценные) |
SwiftUI предоставляет унифицированный декларативный API, который работает на iOS, iPadOS и macOS. Он скрывает различия между UIKit и AppKit, позволяя использовать общий код, но при этом поддерживает специфичную для платформы кастомизацию, когда это необходимо.
UIViewController имеет хорошо определённый жизненный цикл с методами вроде viewDidLoad и viewWillAppear, которые вызываются в предсказуемом порядке во время жизни представления.
Новый — ещё не проверен сообществом
Вы