Bring the AppKit app up to date with modern macOS conventions.
Covers handling input with control events and gesture recognizers, moving beyond traditional tracking loops.
Enhance keyboard navigation in an app, implement graceful state restoration after restarts, and take advantage of new corner concentricity APIs that let the interface blend seamlessly.
The session moves through Modern input, Modern event handling with gesture recognizers, Selection, context menus, and drag and drop, Text selection in custom views, Control events and gesture recognizers, Keyboard navigation and status items, and related wrap-up guidance.
Key concepts include AppKit, SwiftUI, UIKit, tableView, macOS 27, MouseDown, Drag and Drop, NSCollectionViewItem.
Platform coverage: macos.
Condensed Flow
01
Modern input:
Focuses on AppKit.
02
Modern event handling with gesture recognizers:
Focuses on MouseDown, AppKit, SwiftUI, UIKit.
03
Selection, context menus, and drag and drop:
Focuses on Drag and Drop, tableView.
04
Text selection in custom views:
Focuses on macOS 27, Drag and Drop.
05
Keyboard navigation and status items:
Focuses on AppKit.
06
State restoration:
Focuses on AppKit.
More Detail
Additional details
Detailed flow: Modern input -> Modern event handling with gesture recognizers -> Selection, context menus, and drag and drop -> Text selection in custom views -> Control events and gesture recognizers -> Keyboard navigation and status items -> Continuity across launches -> Graceful app termination -> ...
APIs and concepts to recognize: AppKit, SwiftUI, UIKit, tableView, macOS 27, MouseDown, Drag and Drop, NSCollectionViewItem, NSTableRowView, NSTableViewDelegate, NSOutlineViewDelegate, NSTextView.