AppKit

Kalender , ett macOS-program som använder AppKit.

AppKit (formellt Application Kit ) är en grafisk verktygslåda för användargränssnitt . Det fungerade initialt som UI-ramverket för NeXTSTEP . Tillsammans med Foundation och Display PostScript blev det en av kärndelarna i OpenStep -specifikationen för API:er. Senare blev AppKit och Foundation en del av Cocoa , Objective-C API-ramverket för macOS . GNUstep , GNU :s implementering av OpenStep/Cocoa API, innehåller också en implementering av AppKit API.

AppKit består av en samling av Objective-C- klasser och protokoll som kan användas för att bygga en applikation i OpenStep/Cocoa. Dessa klasser kan också användas i Swift genom dess Objective-C-brygga. Xcode har inbyggd funktionalitet för att utveckla en Cocoa-applikation med AppKit, inklusive möjligheten att visuellt designa användargränssnitt med Interface Builder . Den förlitar sig mycket på mönster som referenstyper , delegering , meddelanden , mål-åtgärd och modell-vy-kontroller . Ett tecken på NeXTSTEP-arvet, AppKits klasser och protokoll använder fortfarande prefixet "NS".

De flesta av de applikationer som medföljer macOS – till exempel Finder , TextEdit , Calendar och Preview – använder AppKit för att tillhandahålla sitt användargränssnitt.

macOS , iOS , iPadOS och tvOS stöder även andra UI-ramverk, inklusive UIKit , som härrör från AppKit och använder många liknande strukturer, och SwiftUI, ett Swift -only deklarativt UI-ramverk.

Före macOS Catalina stödde macOS också Carbon , ett ramverk för användargränssnitt som härrör från Macintosh Toolbox .

Klasser

Av de mer än 170 klasser som ingår i Application Kit utgör följande klasser kärnan:

  • NSApplication : ett singleton-objekt som representerar applikationen som helhet och spårar dess fönster och andra globala tillstånd
  • NSWindow : ett objekt som representerar ett fönster på skärmen, det har en hierarki av vyer
  • NSView : ett objekt som representerar ett rektangulärt område; det kan rita eget gränssnittsinnehåll (med hjälp av ritmotorer som Quartz , Core Animation och Metal ), och det kan också ha ett underträd med andra vyer
  • NSResponder : ett objekt som kan svara på händelser under programmets livstid; NSApplication , NSWindow och NSView är alla underklasser av NSResponder
  • NSDocument : ett objekt som representerar ett dokument sparat på disk som hanterar dess visning i ett fönster
  • NSController : en abstrakt klass som implementerar viss funktionalitet för en styrenhet , förmedlar mellan vyer och modellobjekt

Se även

externa länkar