<!--
{
  "availability" : [
    "macCatalyst: 13.0.0 -",
    "macOS: 10.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "AppKit",
  "identifier" : "/documentation/AppKit",
  "metadataVersion" : "0.1.0",
  "role" : "Framework",
  "symbol" : {
    "kind" : "Framework",
    "modules" : [
      "AppKit"
    ],
    "preciseIdentifier" : "AppKit"
  },
  "title" : "AppKit"
}
-->

# AppKit

Construct and manage a graphical, event-driven user interface for your macOS app.

## Overview

AppKit contains the objects you need to build the user interface for a macOS app. In addition to drawing windows, buttons, panels, and text fields, it handles all the event management and interaction between your app, people, and macOS.

![An image of the Landmarks sample app on Mac showing the Mount Fuji landmark.](images/com.apple.appkit/landmarks-app-article-hero@2x.png)

Aside from drawing and managing interactions, AppKit handles printing, animating, as well as creating documents with large amounts of data efficiently. The framework also contains built-in support for localization and accessibility to ensure that your app reaches as many people as possible.

AppKit also works with <doc://com.apple.documentation/documentation/SwiftUI>, so you can implement parts of your AppKit app in SwiftUI or mix interface elements between the two frameworks. For example, you can place AppKit views and view controllers inside SwiftUI views, and vice versa.

> Note:
> For information about bringing your iPad app to Mac, see <doc://com.apple.documentation/documentation/UIKit/mac-catalyst>. To build an iOS app, you can use SwiftUI to create an app that works across all of Apple’s platforms, or use <doc://com.apple.documentation/documentation/UIKit> to create an app for iOS only.

## Topics

### Essentials

  <doc://com.apple.documentation/documentation/TechnologyOverviews/adopting-liquid-glass>

  <doc://com.apple.documentation/documentation/Updates/AppKit>

  <doc://com.apple.documentation/documentation/UIKit/protecting-the-user-s-privacy>

  <doc://com.apple.documentation/documentation/Apple-Silicon/porting-your-macos-apps-to-apple-silicon>

### App Structure

[App and Environment](/documentation/AppKit/app-and-environment)

Learn about the objects that you use to interact with the system.

[Documents, Data, and Pasteboard](/documentation/AppKit/documents-data-and-pasteboard)

Organize your app’s data and preferences, and share that data on the pasteboard or in iCloud.

[Cocoa Bindings](/documentation/AppKit/cocoa-bindings)

Automatically synchronize your data model with your app’s interface using Cocoa Bindings.

[Resource Management](/documentation/AppKit/resource-management)

Manage the storyboards and nib files containing your app’s user interface, and learn how to load data that is stored in resource files.

[App Extensions](/documentation/AppKit/app-extensions)

Extend your app’s basic functionality to other parts of the system.

### User Interface

Your app’s user interface provides visual, audible, and tactile feedback to the user about what your app is doing.

[Views and Controls](/documentation/AppKit/views-and-controls)

Present your content onscreen and handle user input and events.

[View Management](/documentation/AppKit/view-management)

Manage your user interface, including the size and position of views in a window.

[View Layout](/documentation/AppKit/view-layout)

Position and size views using a stack view or Auto Layout constraints.

[Appearance Customization](/documentation/AppKit/appearance-customization)

Add Dark Mode support to your app, and use appearance proxies to modify your UI.

[Animation](/documentation/AppKit/animation)

Animate your views and other content to create a more engaging experience for users.

[Windows, Panels, and Screens](/documentation/AppKit/windows-panels-and-screens)

Organize your view hierarchies and facilitate their display onscreen.

[Sound, Speech, and Haptics](/documentation/AppKit/sound-speech-and-haptics)

Play sounds and haptic feedback, and incorporate speech recognition and synthesis into your interface.

[Supporting Continuity Camera in Your Mac App](/documentation/AppKit/supporting-continuity-camera-in-your-mac-app)

Incorporate scanned documents and pictures from a user’s iPhone, iPad, or iPod touch into your Mac app using Continuity Camera.

### User Interactions

[Mouse, Keyboard, and Trackpad](/documentation/AppKit/mouse-keyboard-and-trackpad)

Handle events related to mouse, keyboard, and trackpad input.

[Menus, Cursors, and the Dock](/documentation/AppKit/menus-cursors-and-the-dock)

Implement menus and cursors to facilitate interactions with your app, and use your app’s Dock tile to convey updated information.

[Gestures](/documentation/AppKit/gestures)

Encapsulate your app’s event-handling logic in gesture recognizers so that you can reuse that code throughout your app.

[Touch Bar](/documentation/AppKit/touch-bar)

Display interactive content and controls in the Touch Bar.

[Drag and Drop](/documentation/AppKit/drag-and-drop)

Support the direct manipulation of your app’s content using drag and drop.

[Accessibility for AppKit](/documentation/AppKit/accessibility-for-appkit)

Make your AppKit apps accessible to everyone who uses macOS.

### Graphics, Drawing, Color, and Printing

[Images and PDF](/documentation/AppKit/images-and-pdf)

Create and manage images, in bitmap, PDF, and other formats.

[Drawing](/documentation/AppKit/drawing)

Draw shapes, images, and other content on the screen.

[Color](/documentation/AppKit/color)

Represent colors using built-in or custom formats, and give users options for selecting and applying colors.

[Printing](/documentation/AppKit/printing)

Display the system print panels and manage the printing process.

### Text

[Text Display](/documentation/AppKit/text-display)

Display text and check spelling.

[TextKit](/documentation/AppKit/textkit)

Manage text storage and perform custom layout of text-based content in your app’s views.

[Fonts](/documentation/AppKit/fonts)

Manage the fonts used to display text.

[Writing Tools](/documentation/AppKit/writing-tools)

Add support for Writing Tools to your app’s text views.

### Deprecated

Avoid using deprecated classes and protocols in your apps.

[Deprecated Symbols](/documentation/AppKit/deprecated-symbols)

Review symbols that are no longer supported, and find the replacements to use instead.

### Reference

[Enumerations](/documentation/AppKit/enumerations)

Enumerations for use with multiple classes.

[Constants](/documentation/AppKit/constants)

Constants for use with multiple classes.

[Data Types](/documentation/AppKit/data-types)

Data types for use with multiple classes.

[Macros](/documentation/AppKit/macros)

Macros for use with multiple classes.



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)
