Build a great Mac app in 2026

Phil Zakharchenko

⏱ 180-min-workshop
beginner
intermediate
13:00-16:00, Monday, 18th May 2026
macOS is Apple’s oldest platform by far, and has a ton of exciting software and hardware history – and a lot of baggage.

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

🏷 macOS
🏷 Swift
🏷 Apps
🏷 SwiftUI
🏷 AppKit

Phil Zakharchenko

Phil is a Mac platform engineer obsessed with software craft and intentional design. At Apple, he worked on flagship macOS features including the modernized menu architecture, Window Tiling, and Stage Manager. In 2023, he joined Software Applications Incorporated as the first hire to build Sky, a reimagining of the Mac interaction paradigm. The company was acquired in 2025 by OpenAI, where Phil is continuing to build thoughtful experiences for Apple platforms.