Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

pctechtv

macrumors member
Original poster
Sep 3, 2013
52
1
I have been taking some training on Objective C. I have finished all the content in the course. I feel the course was excellent. However, I still feel like I do not know how to make a desktop application for OS X. The Cocoa framework was also covered a little in the training. I guess now I need to understand how to apply my knowledge to Xcode for designing GUI for a program? My goal is to mimic apps for Windows Desktop I have been working on (C++ C# Visual Studio etc.). That is; make the same version for OS X. Could someone recommend training material for learning how to build modern desktop apps for OS X. Building OS X apps for desktop does not seem to be a big thing these days (I would love to discus this)?
 
  • Like
Reactions: 0002378
Nice topic ! I'm also learning how to program for MacOS, but I'm learning Swift instead of Objective C, and I love Swift.

My first thought when I read your post was - is there a reason you chose to learn Objective C vs the newer language Swift ? Swift seems to be the preferred language going forward. Here are a couple of articles with more info:

https://www.infoworld.com/article/2...ive-c-10-reasons-the-future-favors-swift.html

https://www.upwork.com/hiring/mobile/swift-vs-objective-c-a-look-at-ios-programming-languages/

Anyway, back to your original question, I can recommend Ray Wenderlich's tutorials. I have gotten quite a bit from them. Again, I haven't looked at Objective C, but it looks like he does both Objective C and Swift (and a lot more). And, as seems to be the trend, his Objective C tutorials are deprecated in favor of Swift. But, here they are:

https://www.raywenderlich.com/tutorial-archive

He does a lot of sample projects and walks you through them step by step, including the GUI (created with XCode's Interface Builder), and the source code behind the scenes. He also includes the sample projects that you can download, study, and experiment with.

There are also some free videos on that site, that I took advantage of and that were useful. If you're willing to pay, you can get a TON of instructional videos there.

Other than these tutorials, I just dived head first into programming with Swift in XCode. I started working on an app, and as I had to implement various features, my knowledge of Swift naturally grew broader and deeper. It would be good to find a Hello World program sample so you can get acquainted with the absolute basics, and then just play around with XCode, Interface Builder (its GUI development tool), and of course the source code behind it. Playgrounds are a great way to learn basics like syntax and how different data structures and built in libraries work.

My experience in Java programming also greatly helped, and to be honest, Swift seemed quite easy to migrate to from Java. I was used to classes and object-oriented programming, and I just looked up the parts that are unique to Swift. StackOverflow is great when you need to look specific stuff up.
 
Your response is super helpful. I too know some Java and have been working some in Android Studio a lot these days. I also work in C++ in C#. I am really interested in the idea of an application that is "all platform" :) I know it is a lot of work. GREAT... that you lead me to raywenderlich.com it looks like a great resource. Thank you so much.
 
Your response is super helpful. I too know some Java and have been working some in Android Studio a lot these days. I also work in C++ in C#. I am really interested in the idea of an application that is "all platform" :) I know it is a lot of work. GREAT... that you lead me to raywenderlich.com it looks like a great resource. Thank you so much.

You're welcome. So, ... any reason you're not learning Swift instead ?
 
Since I'm in a kind of similar situation, I feel like I should also comment on this topic.

I started learning Swift and macOS development maybe two months ago with only a small programming background (I know mostly the basics of differen programming languages like C++ (which I'm learning kind of parallel to swift), C#, JavaScript and so on. But I never wrote complete apps in any of these.

So, if you want to know more about how I approached to learn developing macOS apps with swift I can also make a detailed post about that.

Regarding learning sources, maculateConception already gave you some good suggestions.
Regarding the language I agree with him to better learn Swift instead of Objective-C (that doesn't mean that leaning ObjC in the first place was a waste of time, since it's still widely spread and useful to know)

Anyway here are some sources I used when learning to develop for macOS in Swift. They may help you as well:
(switch to macOS and type „Sample Code“ in the search bar gives a lot of Samples for specific problems directly from apple engineers, most are often only written in Objective-C, so that’s where knowledge to that language can become handy)​
also:
  • WWDC Sessions
theres also an unofficial WWDC app for macOS:
https://github.com/insidegui/WWDC
  • Github
looking at open Source Code from existing apps (like the WWDC app mentioned above for example) can give you a great insight of how to structure an app, and a great way to learn about some of the implementation.​
  • Youtube
even though macOS programming tutorials are very rare on Youtube, you can watch some iOS tutorials and try to recreate them on macOS. This forces you to think on your own instead of just copying what you’re seeing and is a great exercise for developing macOS apps. Here are some examples of Youtube Channels you could use for that:
and of course (mostly for specific stuff you need to know):
  • StackOverflow
  • Google
  • Apples own Documentation
  • Xcode’s help functions
  • etc.
Compared to iOS sources for macOS programming are rather rare, simply because there are way more people developing for iOS. With the better integrated AppStore it has the superior distribution channel plus you can reach way more people with it, since there are a lot more people using an iOS device compared to a Mac. Also macOS development I guess is considered harder, plus as iOS developer you have to get used to the differen framework called AppKit, which has many similarities to iOS's UIKit, but also many differences.

I'm not an expert on this topic so I'm leaving further evaluation to those who are.

Hope I could help and have a great day :)
 
  • Like
Reactions: 0002378
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.