I’m not really sure there is a singular proper way to learn anything, but I do know that there is a way that I learn things and that is through doing, not reading. So instead of messing around reading tutorials or massive O’Reilly books again (I think I’ve tried that twice over the years) I’ve decided to take a stab at “properly” learning iOS once again.
This time around I am following Paul Hudson’s 100 Days Of Swift. It is a 100 day video tutorial walking you through learning Swift and then iOS development. The initial 10 day Swift tutorial was a little basic for someone who already understands programming concepts, but it was a good introduction to the Swift way of doing things. I’ve reached day 62 so far (which I completed in far fewer days as I’ve found I can do a few days worth of the course at a time) which had me learning UIKit and various other iOS frameworks and I feel pretty confident about starting a new app, and adding what I need to in order to get the job done… supplementing with web searches when I get stuck.
There is still a lot to learn though, but I feel like I’m at a good spot where I could maybe dive into an existing code base, figure things out and start contributing to a REAL project. That is eventually my goal at least. For the time being I’ll wrap up the rest of these “100 days of Swift”, maybe dive into some SwiftUI and put together a real, honest-to-goodness modern iOS app!
For anyone looking to try out iOS development, or just development in general, 100 Days of Swift is a pretty comprehensive program and its FREE! The pace in the beginning is very good and introduces basic programming concepts pretty clearly. For anyone looking to speed through it if the pace is a little slow, I would recommend purchasing “Swift in Sixty Seconds” and “Hacking with iOS” from the Hacking with Swift website as they are the videos that the free course is based on. They include all of the videos and you can play them automatically back-to-back instead of having to click through the pages and interact with the YouTube player for every lesson.