Zestaw aplikacji
AppKit (formalnie Application Kit ) to zestaw narzędzi do graficznego interfejsu użytkownika . Początkowo służył jako framework interfejsu użytkownika dla NeXTSTEP . Wraz z Foundation i Display PostScript stał się jedną z podstawowych części specyfikacji API OpenStep . Później AppKit i Foundation stały się częścią Cocoa , platformy Objective-C API systemu macOS . GNUstep , implementacja GNU API OpenStep/Cocoa, zawiera również implementację API AppKit.
AppKit zawiera zbiór klas i protokołów Objective-C , których można użyć do zbudowania aplikacji w OpenStep/Cocoa. Tych klas można również używać w Swift za pośrednictwem mostka Objective-C. Xcode ma wbudowaną funkcjonalność do tworzenia aplikacji Cocoa przy użyciu AppKit, w tym możliwość wizualnego projektowania interfejsów użytkownika za pomocą Konstruktora interfejsów . W dużym stopniu opiera się na wzorcach, takich jak typy referencyjne , delegowanie , powiadomienia , działanie docelowe i kontroler widoku modelu . Znak dziedzictwa NeXTSTEP, klasy i protokoły AppKit nadal używają przedrostka „NS”.
Większość aplikacji dołączonych do systemu macOS — na przykład Finder , TextEdit , Calendar i Preview — używa AppKit jako interfejsu użytkownika.
macOS , iOS , iPadOS i tvOS obsługują również inne struktury interfejsu użytkownika, w tym UIKit , który wywodzi się z AppKit i wykorzystuje wiele podobnych struktur, oraz SwiftUI, deklaratywną platformę interfejsu użytkownika tylko dla języka Swift .
Przed macOS Catalina system macOS obsługiwał także Carbon , platformę interfejsu użytkownika wywodzącą się z programu Macintosh Toolbox .
Klasy
Spośród ponad 170 klas zawartych w pakiecie Application Kit następujące klasy stanowią rdzeń:
-
NSApplication
: pojedynczy obiekt reprezentujący aplikację jako całość i śledzący jej okna i inny stan globalny -
NSWindow
: obiekt reprezentujący okno na ekranie, zawiera hierarchię widoków -
NSView
: obiekt reprezentujący prostokątny region; może rysować własną zawartość interfejsu użytkownika (przy użyciu silników rysunkowych, takich jak Quartz , Core Animation i Metal ), a także może przechowywać poddrzewo innych widoków -
NSResponder
: obiekt, który może reagować na zdarzenia podczas życia aplikacji;NSApplication
,NSWindow
iNSView
są podklasamiNSResponder
-
NSDocument
: obiekt reprezentujący dokument zapisany na dysku, który zarządza jego wyświetlaniem w oknie -
NSController
: klasa abstrakcyjna implementująca pewne funkcje dla kontrolera , pośrednicząca między widokami a obiektami modelu