Build a great Mac app in 2026
Phil Zakharchenko
I believe many ideas and apps can benefit from the richness of the Mac. But with so much functional complexity, and most documentation being outdated, how do you even get started building a Mac app in Swift? And, most importantly, how do you make it a great Mac app? Come see the talk to find out!
Outline
Introduction, and some brief history (7min)
I have a deep love for the Mac, but understand how it can feel to be overwhelmed by unfamiliar outdated terminology from decades ago when getting started. The role of the intro is to help orient the audience in the complex coordinate space that is Mac software today.
- The evolution of Mac hardware and frameworks that powered it (Carbon, Cocoa, SwiftUI)
- UI frameworks today: AppKit, SwiftUI, Mac Catalyst
Building our first Mac app (7-8min)
This is a hands-on section where we start with an empty macOS app and explore its foundational components.
- Starting with SwiftUI
- We build the empty app and explore what we have as a starting point.
- Fundamental components of an app: scenes and windows, the menu bar, the Dock
- Why I strongly suggest going native
- Writing a Mac app in Swift provides a baseline user experience totally unachievable with other technologies like Electron.
- None of the fundamental building blocks we got “for free” would be trivial to achieve.
What makes Mac, Mac (25min)
We work on our app to build a simple Mac-first task tracker app, discovering a few core concepts along the way, as well as how easy they are to take advantage of in SwiftUI.
- Exploring controls
- macOS provides many built-in controls that are surprising in their richness, such as the table view for displaying tabular data
- How events flow through the application, and how clicks are different from key presses
- The focus model: how input is handled and what the user expects
- Responder chain: how to handle keyboard shortcuts and make them discoverable
- When you need more, bridging is easy
- SwiftUI and AppKit work seamlessly together, can be simpler than UIKit bridging on iOS / visionOS
Learning resources & takeaways (10min)
A lot of documentation on macOS development is severely outdated, and it’s hard to navigate the space when you’re new. My goal is to share my own learnings and suggest a few resources as starting points.
- Finding answers to common questions and solutions to problems
- Documentation Archive as a source of conceptual knowledge
- Discovering and reaching out to people in the community