Skip to content
Book manuscript for "Develop Mac Apps With a Clean Architecture and Swift"
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

Exploring Mac App Development Strategies

This is the book manuscript for "Exploring Mac App Development Strategies".

Example code is on GitHub, too.


  • Introduction, and my motivation to document the process
  • Part 1: Bootstrapping
    • Getting comfortable with Swift, porting Objective-C code to recreate the problem space
    • Get Core Data and related tests running
    • Prepare the user interface in its own layer
    • Have tests in place for the app's domain
  • Part 2: Solving the actual problem
    • My first, naive take
    • Ports & Adapters-style solution
  • Part 3: Putting a Domain in Place
    • Sending Domain Events
    • Handling Errors
    • Doing real work in the background
  • Part 4: Using Core Data for Convenience
    • Using Protocols to Hide NSManagedObject Internals
    • Using Cocoa Bindings with Core Data
  • Epilogue
  • Appendix
    • Interesting links
    • On Swift
    • About Objective-C API compliance-related problems


Creative Commons License
Develop Mac Apps With a Clean Architecture and Swift by Christian Tietze is licensed under a Creative Commons Attribution 4.0 International License.

You can’t perform that action at this time.