A designer’s take on learning the basics of iOS development with Swift
By basics, I mean only scratching the surface of iOS development. Any apps I attempt to build today will be met with lots of head scratching, searching for tutorials and a hefty dose of Stackoverflow. But, I’ve learned the basics. And now I feel ready to build my first app.
Why mobile development?
Expertise in both design and development open up new possibilities in terms of personal freedom, career opportunities and what I’ll be able to give back to the world. Most of all, I love making products that benefit your average person on the street. Making things even my mum or dad can use. For most products today, if you’re not in the AppStore then you don’t exist.
Which path do I take?
Many roads lead to becoming a mobile developer. I ended up going with iOS / Swift, and I’m not regretting the decision! But I first had to make some important decisions before learning a single line of code.
Native vs Hybrid app
Android vs iOS
Controversial! I seriously considered not only learning Android development, but also swapping my iPhone for an Android phone. In the end the fragmentation of Android, and higher revenue of the App Store made me opt for iOS, but this was a close call.
To be honest, I think Apple’s “you too can do it” marketing campaign was what really got me in the end!
Swift vs Objective C
Swift is all the rage, but most companies in 2016 hiring iOS devs built their apps in the good ‘ol days of Objective C. Picking Swift here was an investment in the future, and the designer in me craving the simple.
Learning iOS and Swift development
A friend of mine recommended I take the Developing iOS 9 Apps with Swift course on iTunes U. It’s a top notch Stanford course that they release for free. Lecturer Paul Hegarty is an absolute legend! Highly recommended.
Software development is hard
Damn hard! I love that Apple’s vision is the next generation learning to code along with Maths and English. But make no mistake, this isn’t child’s play.
To make things harder, midway through the course I updated to macOS Sierra. This rendered all my learning material obsolete since the new version of Xcode only works with Swift 3. The learning material was written in Swift 2. Facepalm! In the end everything was fine. I managed to update the code to Swift 3 manually, but I wouldn’t recommend it.
Having said that it’s totally possible to learn iOS development on your own. No need to pay over $10,000 for a bootcamp.
I can now have a semi-intelligible conversation with a real iOS developer about closures, optionals, delegates, protocols, Xcode, structs, enums, CocoaTouch, UIKit, storyboards, autolayout, the model-view-controller, segues, table view controllers, Core Data, Cloud Kit, application lifecycle.
Tips for learning iOS development with Swift
- You need to know the basic theory behind object-oriented programming. Plenty of learning resources online for that.
- You need at least a month of full-time studying on Developing iOS 9 Apps with Swift course on iTunes U. Try not to update Xcode midway through like I did.
- A big monitor would help but you can do it all on a laptop.
- Stackoverflow.com is your new best friend. Your other new friends are raywenderlich.com, reddit.com/r/swift, reddit.com/r/iOSProgramming and make sure to check out the ios-developers.io Slack community.
- Build something simple and yet at least in your eyes, awesome. Find tutorials to fill the gaps in your knowledge. Then, get your app on the App Store.
I’m building my first iOS app. Minihero, is an app designed to help people help one another.