As I creep my way further and further into iOS development, I’ve discovered 2 things which help immensely:
A lot of people will claim that WWDC is THE conference to go to, but for me, it’s 360iDev. One of WWDC’s selling point is hearing from the masters and engineers at Apple talk about their work (code, classes, languages, frameworks). However, for a beginner, a lot of things like the labs and face time with the engineers just go unused.
For me, part of learning is not just watching someone talk about a particular language (Objective-C) or framework (UIKit), but hearing HOW developers use those items and then actually programming along side some of those same developers. 360iDev excels in those 2 departments. You get to hear from developers, big and small, about HOW they make the magic happen. They’ll openly talk about all their tricks in their session, then whip out a laptop in the after hours to show you even more.
The game jam alone is worth the price of admission to 360iDev. Basically, you have 12 hours to build a game (8 pm to 8 am). Imagine a ton of great iOS programmers, all sitting in a room, coding away the night. The best thing is that you can tap into the minds of a lot of these people since they are there and the community is so great. Now, this is not a free ticket to hog up all their time because they are trying to make a game too. However, a few well thought out questions to get you unstuck is pure gold. It will help build your confidence in your tech skills faster than many months of book learning and practicing. Trust me, I know. I learned more in the two game jams I was at, then all the books and sample code I read up until then.
2. Use the latest SDK and don’t look back
I now realize one of my biggest mistakes when starting iOS development. I was reading a book on iOS 2, when 3 was out. Then I was reading an iOS 3 book, when 4 was out. I thought, “Well, if I want to maximize profits, I need to support as many devices as I can and therefore, I need to support the oldest iOS version out there.”
There’s a few flaws to that logic. One, if they haven’t upgraded their OS, the likelihood of them buying and running your app is next to slim. Even if they did buy your app, are you going to want to spend your time supporting the handful of users on the old OS? Or would you rather spend that time working on new features? You have to remember that every version (or platform even) that you choose to support, means just that: support! If you don’t support them, they’ll cry afoul.
The other reason that is flawed is because of improvements to the SDK. Case in point: UIGestureRecognizer. Of you’re still messing with IBOutlets and onTouchUp and crap, don’t! Skip all that and learn all about UIGestureRecognizer instead. Apple’s brilliant engineers are constantly trying to make your life better. If you wait until 2 or 3 releases down the line before you use a new feature, you’re sort of missing the point. Help them help you!
That’s it for me. Next time, I’m hoping to have an update on our game codenamed “Darts”. See you then!