AppKit
Эта статья нуждается в дополнительных цитатах для проверки . ( март 2024 г. ) |

AppKit (формально Application Kit ) [1] представляет собой графического интерфейса пользователя набор инструментов . Первоначально он служил инфраструктурой пользовательского интерфейса для NeXTSTEP . [2] Наряду с Foundation и Display PostScript , он стал одной из основных частей OpenStep спецификации API . Позже AppKit и Foundation стали частью Cocoa , фреймворка API Objective-C для macOS . GNUstep , реализация GNU OpenStep/Cocoa API, также содержит реализацию AppKit API.
AppKit включает в себя набор Objective-C классов и протоколов , которые можно использовать для создания приложения в OpenStep/Cocoa. Эти классы также можно использовать в Swift через мост Objective-C. Xcode имеет встроенные функциональные возможности для разработки приложения Cocoa с использованием AppKit, включая возможность визуального проектирования пользовательских интерфейсов с помощью Interface Builder . Он во многом полагается на такие шаблоны, как ссылочные типы , делегирование , уведомления , целевое действие и модель-представление-контроллер . Классы и протоколы AppKit, являющиеся признаком наследия NeXTSTEP, по-прежнему используют префикс «NS».
Большинство приложений, входящих в состав macOS, например Finder , TextEdit , Calendar и Preview , используют AppKit для предоставления пользовательского интерфейса.
macOS , iOS , iPadOS и tvOS также поддерживают другие платформы пользовательского интерфейса, включая UIKit , который является производным от AppKit и использует множество подобных структур, и SwiftUI , декларативную структуру пользовательского интерфейса только для Swift .
До macOS Catalina macOS также поддерживала Carbon , инфраструктуру пользовательского интерфейса, созданную на основе Macintosh Toolbox .
Классы
[ редактировать ]Из более чем 170 классов, включенных в Application Kit, ядро составляют следующие классы: [3]
NSApplication
: одноэлементный объект, который представляет приложение в целом и отслеживает его окна и другое глобальное состояние.NSWindow
: объект, представляющий окно на экране, содержит иерархию представлений.NSView
: объект, представляющий прямоугольную область; он может рисовать собственный контент пользовательского интерфейса (используя механизмы рисования, такие как Quartz , Core Animation и Metal ), а также может содержать поддерево других представлений.NSResponder
: объект, который может реагировать на события в течение жизни приложения;NSApplication
,NSWindow
, иNSView
все это подклассыNSResponder
NSDocument
: объект, представляющий документ, сохраненный на диске и управляющий его отображением в окне.NSController
: абстрактный класс, реализующий некоторую функциональность контроллера , являющийся посредником между представлениями и объектами модели.
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ Примечания к выпуску AppKit для macOS 10.13 . Архив документации Apple. Проверено 23 октября 2017 г.
- ^ Наследие NeXT продолжает жить в OS X — Ars Technica , декабрь 2012 г.
- ^ Справочник по AppKit Framework — разработчик Apple
Внешние ссылки
[ редактировать ]- Классы AppKit в спецификации OpenStep
- AppKit в документации Apple для разработчиков