UIKit

Среда разработки программного обеспечения
UIKit
Разработчик(и)Apple Inc.
Написано вObjective-C , Swift
Операционная системаiOS , iPadOS , tvOS
ТипПрограммная структура
ЛицензияЗапатентованный
Веб-сайтUIKit | Разработчик Apple

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 можно представить следующим образом:

  1. UIKit
  2. Медиа / Прикладные услуги
  3. Основные услуги
  4. Ядро ОС / 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]

Ссылки

  1. ^ "UIKit | Документация для разработчиков Apple". Apple Developer . Получено 15 сентября 2024 г. .
  2. ^ "microsoft/WinObjC/Frameworks: Objective-C для Windows". GitHub . Получено 17 февраля 2020 г. .
  3. ^ "WinObjC: Миграция элементов управления UIKit в XAML". GitHub .
  4. ^ Хебер, Шон. «BigZaphod/Chameleon: Chameleon — это порт UIKit для iOS от Apple (и некоторых минимальных связанных фреймворков) на Mac OS X» . GitHub .
  5. ^ "ZeeZide/UXKit: напишите код, который работает как на UIKit, так и на AppKit". GitHub . ZeeZide. 19 декабря 2019 г. . Получено 17 февраля 2020 г. .
  6. ^ Холл, Зак (5 февраля 2015 г.). «UIKit-подобный фреймворк под названием UXKit, используемый в Photos для Mac». 9to5Mac .
  7. ^ Демаси, Адам (7 июня 2018 г.). «Быстрый взгляд на UIKit на macOS».
  8. ^ "Mac Catalyst". Документация для разработчиков Apple . Получено 17 февраля 2020 г.
Взято с "https://en.wikipedia.org/w/index.php?title=UIKit&oldid=1251251753"