Zestaw aplikacji

Kalendarz , aplikacja macOS korzystająca z AppKit.

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 i NSView są podklasami NSResponder
  • 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

Zobacz też

Linki zewnętrzne