The documentation desperately needs a good introduction to modern macOS development

I will hope and assume that everyone here and at Apple knows and understands that a healthy Mac ecosystem is key and vital to the entire Apple ecosystem at large, which includes iOS. (The fact that the Mac App Store has not yet been revamped like the iOS App Store did is a bit depressing, but that's a topic for another discussion.)


This year will be my 5th attempt to start Mac development. I have always been in love with the Mac platform, its principles, and all the solid technology underneath it.


However, the ragtag state of the official developer documentation has constantly thwarted my efforts. Each year I try to see if the new Swift and new Xcode have made it any easier, but most of all, each year I hope the documentation will have improved.


It is out of date in many places. I have to constantly scavange through Apple's samples and StackOverflow etc. to know how to implement even the most basic Mac paradigms in modern, idiomatic Swift, like drag and drop. Xcode's Interface Builder UI also hides some properties that are needed for basic Mac features (like dark windows, or how NSSplitViewItem's Attributes Inspector didn't let you define whether the pane was a sidebar or content list, so you had to do it programatticaly until now.)


The Mac developer documentation should be revamped for 2017/2018, to better reflect Apple's apparently renewed focus on the Mac (with the new hardware and all.) If developers can more easily learn how to build better macOS tools for themselves, it will also aid their iOS/tvOS/watchOS development.


I propose that there should at least be in-depth guides, with accompanying sample code in the latest Swift, for basic but fully-functional apps in each of the following styles:


  • A multi-window vector image editor, to teach NSDocument, Drag and Drop, Core Graphics, Core Image, toolbars, Touch Bar, Sharing and Extensions.
  • A single-window "shoebox" app for video editing and splicing, to teach audio and video frameworks, dark UI, sidebars, AirPlay etc.
  • A Mac-optimized game, to teach SpriteKit as well as SceneKit, and custom Metal shaders, VR display, and ML/AI frameworks.


The guides and samples should assume a complete beginner to the Mac development.

Replies

>I propose that


Interesting feedback.


Might want to file a feature request via the bug reporter to make yourself heard - be sure to add your report # for reference, thanks.

I totally share.


When I (re)started Mac development a few years ago, I had to struggle for weeks to discover how to architecture a multi window app. Not to speak on how to implement mechanisms such as drag and drop.

And there are a lot of books about IOS, but those on OSX are really useless, just describing API but never how to build a real, multi window application.

There is a lot going on here: https://www.apple.com/education/everyone-can-code/

I know there is an introduction for iOS development, but I don't have the link for that. My guess is that there is a Mac OS tutorial as well, but I haven't looked for that.


Good luck!