Week in Review (1/36)
During the first week, there were some setbacks. It wasn't as productive as I wanted it to be, but I still got some learning done.
The plan for the first week was to find a good resource to learn from, and get started. Now, let me tell you, learning iOS development from an old resource is pretty much impossible. With each new release, Apple introduces huge changes to frameworks, to Xcode, and now to the Swift language itself. I know this, because a couple months ago I read a couple chapters from the fourth edition of the Big Nerd Ranch Guide (they now have the updated fifth edition). Even though the book used iOS 7 and Xcode 5 (current versions are iOS 9 and Xcode 7), it was extremely difficult to navigate around in Xcode.
Now, you might be thinking, it can't be that bad, I could have just installed Xcode 5. But surprise, surprise! Apple decided to not support anything earlier than Xcode 7 on OSX El Capitan, so I would have to find a workaround to be able to run Xcode 5.
Long story short, I wanted a resource that used Xcode 7 and iOS 9.
Hacking with Swift
While I was searching the internet, I came across Hacking with Swift. When I first read the introduction, I thought it was amazing. It basically teaches you through projects, starting with an app, then a game, and then a technique, and continues in the same order of projects. At the moment, there are thirty basic projects, and eight advanced projects.
I'm not one of those people who love going through technical documents to learn a new language/framework when I'm starting out. I like learning through projects, that's why I thought Hacking with Swift would be great. But after going through 10 projects, I have to say that I don't feel like I learned much.
Throughout the projects, Paul Hadson does a lot of "magic." You start a project, and then you delete some of the code here and there, and then you are supposed to put in some code that he tells you to put somewhere. And after a while, I just felt like I was all over the place. By the tenth project, we were using SpriteKit to develop a game, but I didn't even understand the basics of Swift or UIKit well enough.
Don't get me wrong, I learned from Hacking with Swift, but I just feel like I could have found a better resource. I believe, the teaching approach and the course structure of Hacking with Swift need a little bit of polishing. I also believe, for someone who is not an iOS development beginner, Hacking with Swift projects might be amazing. I see that Paul Hadson put a lot of effort in creating all the projects, so give it a chance, maybe it will work for you.
Right now, I'm checking out some highly praised iOS books and courses, and I will probably continue with one of them. I'm also planning to write a roundup of all the resources I'm trying, so stay tuned.
This Week's Stats
Unfortunately, I was not able to put aside four hours every day for learning. I spent about 4 hours and 16 minutes on looking for a resource to learn from, and 14 hours and 6 minutes on studying. This is a little bit more than three hours per day (considering a six day week).