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

con

macrumors member
Original poster
Feb 18, 2012
42
1
As an aspiring iOS developer, I bought 2 books for programming in iOS 14 / Swift 5.3 based on good reviews of prior versions. Then, based on someone's recommendation I also bought a highly-rated udemy course for iOS 13 / Swift 5 because it was on sale for $15 with a money-back guarantee so thought there was nothing to lose. Finally, like everyone else, I have access to the online Stanford CS193p course I've seen people recommend, which also covers older versions.

The books I bought: "iOS 14 Programming Fundamentals with Swift" and "Programming iOS 14" by Matt Neuburg

The udemy course I bought: "iOS 13 & Swift 5 - The Complete iOS App Development Bootcamp" by Dr. Angela Yu

Maybe other aspiring developers will also find the above useful. And feel free to share any other iOS/Swift learning material recommendations.

So, a question I have which I believe can also help other aspiring developers, and which I ask especially to those with programming knowledge/experience in all of iOS 13, 14, Swift 5 to 5.3 and/or older versions: are there enough differences between iOS 13-14, and Swift 5-5.3 and/or older versions, to warrant skipping courses for the older material? Or is mostly everything important the same so it may still be worthwhile?

I understand you may think, why learn the older stuff if you have material for the newer stuff? The reason being perhaps the material for the older stuff is geared toward quicker practical application, which from the reviews I've read on the aforementioned materials, may be the case. But on the other hand, there may be enough differences between the versions to undermine this aspect, hence the question.
 

casperes1996

macrumors 604
Jan 26, 2014
7,593
5,764
Horsens, Denmark
From about Swift 3 onwards, it doesn't matter all that much I would say. I mean of course material for iOS 13 won't teach you how to use an iOS 14 only feature like App Clips or something, but everything you learn will be applicable basically.

But if you're new to programming in general I would advise a mental shift; Don't think of it as "I'm learning iOS and Swift programming". Focus on learning programming as a general concept, even if your focus is on Apple's frameworks.

And as for material, The official documentation from Apple is often overlooked for some reason, but is really a good place to look. You have API references, tutorials that take you through building specific sample apps, etc. Apple's own docs; Look at them (developer.apple.com as well as the Documentation view in Xcode)
I can also highly recommend Paul Hudson's work. He's written a few books that he updates every time a new iOS version comes out with a free PDF upgrade, and he has a YouTube channel with a lot of great learning material, as well as an app for iOS aimed at teaching Swift - All of it goes under the brand "Hacking With Swift"

I'm also creating my own YouTube series called Learn Programming, though there aren't very many episodes yet, and it initially focuses on Java for general purpose programming and will only later go into app development.
That's a link to the playlist so far. Episode 0 can be skipped; It's not teaching anything, just a talking primer as to why one should not necessarily be hyper-focused on wanting to learn how to make an app, but broaden it to more general programming knowledge.

Once you feel you have the basics down, trying out some of the challenges labeled "easy" on LeetCode might also be fun. They're algorithm challenges and we did something similar on my first semester at university. It's a good way of getting your mind more into solving problems with code. - Don't get discouraged if you can't solve some of them though, the difficulty labels aren't always super accurate, so easy might not always be easy for you. You can pick which language you want to solve a challenge in and it does have Swift; When you do solve it you'll get some stats on how fast and how much memory your solution uses compared to others - Lots of fun! :) Though when coding "for real" don't necessarily focus so much on fast memory efficient code. The most important thing there is maintainable code. Code you understand and can easily work with going forward.
 

con

macrumors member
Original poster
Feb 18, 2012
42
1
From about Swift 3 onwards, it doesn't matter all that much I would say. I mean of course material for iOS 13 won't teach you how to use an iOS 14 only feature like App Clips or something, but everything you learn will be applicable basically.

But if you're new to programming in general I would advise a mental shift; Don't think of it as "I'm learning iOS and Swift programming". Focus on learning programming as a general concept, even if your focus is on Apple's frameworks.

And as for material, The official documentation from Apple is often overlooked for some reason, but is really a good place to look. You have API references, tutorials that take you through building specific sample apps, etc. Apple's own docs; Look at them (developer.apple.com as well as the Documentation view in Xcode)
I can also highly recommend Paul Hudson's work. He's written a few books that he updates every time a new iOS version comes out with a free PDF upgrade, and he has a YouTube channel with a lot of great learning material, as well as an app for iOS aimed at teaching Swift - All of it goes under the brand "Hacking With Swift"

I'm also creating my own YouTube series called Learn Programming, though there aren't very many episodes yet, and it initially focuses on Java for general purpose programming and will only later go into app development.
That's a link to the playlist so far. Episode 0 can be skipped; It's not teaching anything, just a talking primer as to why one should not necessarily be hyper-focused on wanting to learn how to make an app, but broaden it to more general programming knowledge.

Once you feel you have the basics down, trying out some of the challenges labeled "easy" on LeetCode might also be fun. They're algorithm challenges and we did something similar on my first semester at university. It's a good way of getting your mind more into solving problems with code. - Don't get discouraged if you can't solve some of them though, the difficulty labels aren't always super accurate, so easy might not always be easy for you. You can pick which language you want to solve a challenge in and it does have Swift; When you do solve it you'll get some stats on how fast and how much memory your solution uses compared to others - Lots of fun! :) Though when coding "for real" don't necessarily focus so much on fast memory efficient code. The most important thing there is maintainable code. Code you understand and can easily work with going forward.

Wow thanks for the suggestions man. Outside of webdev stuff like PHP and a tiny bit of GML coding in GameMaker I did a few Java courses in uni but that was over 10 years ago so I'm rusty to say the least. I've heard about hacking with swift, and thanks for your own course too. Will look into all of this. I'm definitely not expecting to create a super app out of the gate, just taking gradual baby steps. Thanks also for the input on the differences between versions, it's good to know most of it crosses over.
 

casperes1996

macrumors 604
Jan 26, 2014
7,593
5,764
Horsens, Denmark
Wow thanks for the suggestions man. Outside of webdev stuff like PHP and a tiny bit of GML coding in GameMaker I did a few Java courses in uni but that was over 10 years ago so I'm rusty to say the least. I've heard about hacking with swift, and thanks for your own course too. Will look into all of this. I'm definitely not expecting to create a super app out of the gate, just taking gradual baby steps. Thanks also for the input on the differences between versions, it's good to know most of it crosses over.

Ey, you're very welcome; BTW; Honestly I wouldn't really recommend my own course yet. I'm still very much trying to figure out a good way of doing it, and the few episodes that are up already are as much practice for me in making this kind of content as it is actual content - might wind up reshooting all of it at one point; Not happy with it so far, but wanted to offer it up there anyway, and we'll see what happens.

Fortunately not that many things really change at the core of programming. I mean to be honest a lot of what we're discussing today is still stuff from the 50's, 60's and 70's. We like to give things a new coat of paint every now and then, but at the core of it all, not much has happened since Simula, hehe.

Oh and if you wind into any trouble along your journey, want to talk code, want someone to look over something you've written with suggestions or anything like that, feel free to contact me, either here, or through the contact options on my website:
 

con

macrumors member
Original poster
Feb 18, 2012
42
1
Ey, you're very welcome; BTW; Honestly I wouldn't really recommend my own course yet. I'm still very much trying to figure out a good way of doing it, and the few episodes that are up already are as much practice for me in making this kind of content as it is actual content - might wind up reshooting all of it at one point; Not happy with it so far, but wanted to offer it up there anyway, and we'll see what happens.

Fortunately not that many things really change at the core of programming. I mean to be honest a lot of what we're discussing today is still stuff from the 50's, 60's and 70's. We like to give things a new coat of paint every now and then, but at the core of it all, not much has happened since Simula, hehe.

Oh and if you wind into any trouble along your journey, want to talk code, want someone to look over something you've written with suggestions or anything like that, feel free to contact me, either here, or through the contact options on my website:
Awesome, thanks so much, really appreciate it! Currently downloading Xcode. Thing's a beast, looks like I'm in for a wait…
 

casperes1996

macrumors 604
Jan 26, 2014
7,593
5,764
Horsens, Denmark
Awesome, thanks so much, really appreciate it! Currently downloading Xcode. Thing's a beast, looks like I'm in for a wait…

Xcode is big, yeah. It isn't just the Xcode app itself though. Xcode contains the editor, SDKs for iOS, macOS, AppleTV, etc. documentation, Simulators, Instruments and more. Even if you're not using Xcode itself it's kind of a necessary download (Though you can get components individually if you don't want to use the Xcode IDE). Xcode is overall good, but I also find it's sometimes a tad slow compared to for example VSCode or the Jetbrains tools. But anyway, cheers, have fun
 
  • Like
Reactions: con
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.