Среда разработки программного обеспечения
UIKit — это среда разработки приложений и набор инструментов графического пользовательского интерфейса от Apple Inc., используемый для создания приложений для операционных систем iOS , iPadOS и tvOS . [1]
UIKit обеспечивает уровень абстракции iOS, операционной системы для iPhone, iPod Touch и iPad. UIKit вдохновлен AppKit , найденным в наборе инструментов API Cocoa macOS, и, как и он, в основном написан на языке Objective-C . UIKit позволяет использовать оборудование и функции, которые отсутствуют в компьютерах macOS и, таким образом, являются уникальными для диапазона устройств iOS. Так же, как и AppKit, UIKit следует архитектуре программного обеспечения Model–View–Controller (MVC).
UIKit содержит другой набор графических элементов управления от AppKit. Инструменты для разработки приложений на основе UIKit включены в iOS SDK .
UIKit по отношению к другим слоям
Технологии iOS, watchOS и tvOS можно рассматривать как набор слоев, где UIKit находится на самом высоком уровне, а основная операционная система/ ядро — на самом нижнем.
Иерархическое представление технологий iOS, watchOS и tvOS можно представить следующим образом:
- UIKit
- Медиа / Прикладные услуги
- Основные услуги
- Ядро ОС / iOS
Основные характеристики
Некоторые из основных функций и технологий UIKit:
- Расширение приложения
- Управление данными
- Передавать
- Выборщик документов
- AirDrop
- Текстовый комплект
- Динамика UIKit
- Многозадачность
- Автоматическая раскладка
- Раскадровки
- Сохранение состояния пользовательского интерфейса
- Служба push-уведомлений Apple
- Локальные уведомления
- Распознаватели жестов
- Стандартные контроллеры системного представления
Основные структуры
UIKit предоставляет ключевые фреймворки для разработки приложений на устройствах под управлением iOS и базируется на Foundation Kit . Другие фреймворки, созданные Apple, которые дополняют AppKit:
- GameKit
- MapKit
- Интерфейс адресной книги
- Пользовательский интерфейс EventKit
- Интерфейс сообщения
- Центр уведомлений
- PushKit
Порты
WinObjC от Microsoft , мост iOS на базе GNUstep для универсальной платформы Windows , содержит рабочие реализации таких фреймворков, как Foundation, UIKit и MapKit, выпущенные по лицензии MIT . [2] Одна из реализаций UIKit основана на XAML . [3]
Были предприняты различные попытки перенести UIKit на macOS:
- Chameleon — это порт UIKit на macOS с 2014 года. [4]
- UXKit от ZeeZide — это более поздний порт UIKit на macOS. Он существует на уровне выше AppKit и UIKit. [5]
- Apple использовала частный фреймворк «UXKit» для версии Photos.app 2015 года. [6]
- Apple сделала мост более официальным с проектом "iosMac" или "Marzipan" в 2018 году, который поместил каталог "iOSSupport", полный фреймворков iOS в macOS Mojave . Первоначально они были ограничены для использования разработчиками [7] и, наконец, стали официальными с выпуском Mac Catalyst в 2019 году. [8]
Ссылки
- ^ "UIKit | Документация для разработчиков Apple". Apple Developer . Получено 15 сентября 2024 г. .
- ^ "microsoft/WinObjC/Frameworks: Objective-C для Windows". GitHub . Получено 17 февраля 2020 г. .
- ^ "WinObjC: Миграция элементов управления UIKit в XAML". GitHub .
- ^ Хебер, Шон. «BigZaphod/Chameleon: Chameleon — это порт UIKit для iOS от Apple (и некоторых минимальных связанных фреймворков) на Mac OS X» . GitHub .
- ^ "ZeeZide/UXKit: напишите код, который работает как на UIKit, так и на AppKit". GitHub . ZeeZide. 19 декабря 2019 г. . Получено 17 февраля 2020 г. .
- ^ Холл, Зак (5 февраля 2015 г.). «UIKit-подобный фреймворк под названием UXKit, используемый в Photos для Mac». 9to5Mac .
- ^ Демаси, Адам (7 июня 2018 г.). «Быстрый взгляд на UIKit на macOS».
- ^ "Mac Catalyst". Документация для разработчиков Apple . Получено 17 февраля 2020 г.