I’ve seen a lot of questions from people on Reddit and Slack looking for resources on Mac development in Swift. Compared to iOS development there are relatively few resources for learning to write Mac apps in Swift. I’ve collected what I found and am sharing with you.
Books and Courses
The book Hacking with macOS teaches Mac development by building 18 projects.
Kodeco (formerly Ray Wenderlich) publishes the book macOS by Tutorials, where you build two SwiftUI apps and a menu bar app with AppKit. This book is geared towards iOS developers who want to learn how to make Mac apps.
If you’re completely new to Mac development, Kodeco has the book macOS Apprentice.
I wrote an introductory book on Mac development, Swift Dev Journal’s Intro to Cocoa. The book walks you through the creation of a complete Mac app using AppKit, Swift, and storyboards.
The book Cocoa Programming for Mac OS X is the only other Mac programming book I see people recommend online. The book uses Swift 1.2 so a lot of the code is not going to compile with recent versions of Swift and Xcode. If you can work around that limitation, the book does do a good job of introducing Mac development with Cocoa.
Mohammad Azam has the course Programming macOS Using SwiftUI – Project Based Learning that teaches Mac development with SwiftUI.
The book Building macOS Apps With SwiftUI: A Practical Learning Guide by Grace Huang covers Mac development with SwiftUI.
AppCoda has several Mac programming tutorials.
The site you’re currently reading has a small but growing collection of articles on Mac development, including SwiftUI articles.
If you prefer videos, Lucas Derraugh has a YouTube channel with videos on Mac development.
Swift Programming for macOS has a collection of SwiftUI examples for making Mac apps.
Extelligent Cocoa has a collection of Mac development tutorials.
TrozWare has articles on making SwiftUI Mac apps.
The Lost Moa blog has a collection of SwiftUI articles, some of which cover Mac development.
SerialCoder.dev has tutorials on Mac and SwiftUI development.
Places to Ask Questions
- Stack Overflow. Use the
cocoatag when asking Mac programming questions that aren’t about SwiftUI.
- Apple’s developer forums
- SwiftUI Reddit group
- MacRumors forums
The following workspaces on Slack are places where people talk about Mac development:
- AppKit Abusers is the most active Slack room for Mac development.
- Hacking with Swift has a Mac development room.
- CocoaHeads doesn’t get a lot of Mac development discussion, but the workspace covers both iOS and Mac development.
Have a Resource to Add?
Use the Contact page to send me an email with your resource for learning Mac development.