The best way to learn macOS application development

I have never written anything using XCode. I have written in other languages such as Basic, Pascal, Assembler, Java, PHP and Python.


I just never got around to learning C or C++, which is what XCode looks like to me, but it also resembles Python in my opinion. I have written a program in Python and I would like to convert it to a native macOS application and possibly even offer it through the App Store for macOS one day.


I know XCode and Swift just went through a major revision with the release of macOS Catalina and the updates and information is still propogating for the learning sites and ebooks.


I have attempted to follow the Apple Developer Tutorial for the Landmarks application because it shows that it will teach the learner how to deploy the application to all Apple platforms, but that tutorial has some inconsistencies that a newbie to XCode like myself has difficulty overcoming once I started section 2 (I've submitted Feedback to Apple for this issue).


I have no real interest in developing for the iOS platform, or any other platform for that matter, at this time. So, I am looking for a macOS specific developer course or book I can use for learning XCode 11.*/SwiftUI 5.* environments.


I checked out the free 24 page download for Hacking macOS by Paul Hudson from the Hacking With Swift site, but the in the 24 page sample it starts off having you create a macOS application and choosing "Cocoa Application", which is not an option in XCode 11.1. Is it the same and Apple just changed the name to just "App"? I'm skeptical to buy something when right off the bat there is an inconsistency with what the reader is encountering between the book and real world. Anyone have experience learning from that author? Back in my day the O'Reilly books were some of my goto sources for learning different languages. I looked there and it seems they're focused on iOS app development and nothing appears to be targeted for recent macOS development.


I've searched through the forums for this question and didn't find anything that was as specific as this question.


Thank you!


Tom

Replies

I went into the same problem when I started development for MacOS. A lot exist for iOS, but very little for MacOS, unless pretty old Apple technical guides.


I found some books, but they were not really tutorials.


So, I had to look for some sample apps and try to figure out how to develp my app with this. A bit tricky.

Now, I have a typcial architecture for my Mac Apps that I reuse from app to app.


And of course, I used this forum to get some help when needed…

In addtion to your other efforts, I suggest you (a) scan Apple's past WWDC Videos, and (b) gear up for this year's virtual conference.


Good luck.

Post not yet marked as solved Up vote reply of KMT Down vote reply of KMT

hi,


you mentioned:


I checked out the free 24 page download for Hacking macOS by Paul Hudson from the Hacking With Swift site, but the in the 24 page sample it starts off having you create a macOS application and choosing "Cocoa Application", which is not an option in XCode 11.1. Is it the same and Apple just changed the name to just "App"? I'm skeptical to buy something when right off the bat there is an inconsistency with what the reader is encountering between the book and real world. Anyone have experience learning from that author?


i've found Paul Hudson's materials to be top-notch, but it's unfortunate that the screen shot he has at the opening shows a slightly older version of XCode. it should of course be MacOS --> App (in XCode 11.4).


you should contact Paul directly if you have concerns -- he posts his email address on the page where you found the download link.


hope that helps,

DMG

That's the problem with dead tree versions, if that's what that download is from...they can't keep up with current tools and SDKs, leaving newbies to wonder why things don't match up, coming here for support, letting the authors of the hook while time is lost decoding the fact that questions are based on older tools, etc.


Only remedy is to avoid those resources, unless as you note, you can contact the authors and hope they respond. We don't have time here to provide free support for 3rd parties 😉 and Apple didn't agree to let them rely on devForums as part of their business plans.


Ken

Xcode is a development system. C and C++ are programming languages.

Most Mac programming tutorial material is for Objective-C or Swift, which are both programming languages.

SwiftUI is still very new, I would advise you to stay away from it for now.

Search the Internet for "macOS programming tutorial" and pick something where you like the style and the examples aren't too old. If possible, run exactly the same version of Xcode and everything else (OS, SDK, Swift) that the tutorial uses.


Read up about how best to ask questions on the Internet, and then ask away if you still need to.

Different people learn best in different ways. Also, you begin as a beginner, and become more and more experienced. The best resources for you will vary depending on the level of your expertise. I find that particularly in the beginning, it is very useful to have a more knowledgeable friend who can point out a misplaced semicolon or bracket.


Unfortunately, these forums don't have a great deal of traffic - some questions go unanswered for months, there are more lively online forums than these.


Good luck!

If you're just want to get started, choose one of the Xcode app templates for the Mac and you're already have an app. More so, iOS and macOS now shares a lot of frameworks such that many iOS apps are just a checkbox away from being a mac app.

The following URL contains a list of Mac programming resources:


swiftdevjournal.com/resources-for-learning-mac-development/

  • Thank you for this link. I'm In the same situation as the poster. I can't believe the lack of materials for MacOS. My guess is the money is in iOS right now and the tech is changing faster than training materials can keep up. Those iOS devices might be fun but you can't really DO anything on them. Well, you can draw I suppose and read. The big downside to that is nobody can become proficient fast enough so you have a few that know what they're doing and then you have the rest of us.

Add a Comment

Don't listen to these guys. You don't need re-learn anything, that's why Apple made MacCatalyst. Just make an iPad app, adjust the UI and code. You'll be good to go.

AppleProgramming YouTube Channel.