Let’s get started.
I’ve been curious about iOS development for quite some time. While I’ve played around with Swift here and there, I feel like I’ve lacked structure and discipline. I’ve decided to change that starting now! Each week I’ll be posting tips, what I have learned, and any obstacles I encoutered.
When I first wanted to learn iOS development I started to look at courses and bootcamps in my area. What I quickly realized was that most of them cost more than a year of my college tuition. As someone with a Computer Science background, I didn’t feel like I was starting completely from scratch so these options were probably not the best investment (although I have heard great things about them especially for those lacking a background in technology). Still, I wanted some sort of method to my madness so I began to look for free resources online.
In the spirit of being structured, I’ve decided to start by laying out the resources I’ll be using.
Stanford iOS Course
I sorted through and did the first lesson of many tutorials online before deciding on pursuing this course. Most of the tutorials or courses online are geared to those who have never programmed before and can therefore feel a little slow if you have experience in programming. Paul Hegarty (the Stanford iOS professor) doesn’t just brush the surface of Swift. From the get-go he dives into the language and it’s clear he is interested in teaching his students the tools to become top notch iOS developers.
Developing iOS 9 Apps with Swift: iTunes U
Course Outline:
- Course Overview and Introduction to iOS, Xcode, and Swift
- Applying MVC
- More Swift and Foundation Framework
- Views
- Interface Builder, FaceView Controller, and Multiple MVCs
- Multiple MVCs, Segues, Facelt, and View Controller Lifecycle
- Closures, Extensions, Protocols, Delegation, and ScrollView
- Multithreading and Text Field
- Table View
- Core Data
- Core Data Demo
- Auto Layout
- NSTimer and Animation
- Animation and Core Motion
- Application Lifecycle, Alerts, CloudKit
- Notifications and CloudKit
- Segues, Core Location and MapKit
- Persistence
Apple Docs
My brother is actually an iOS developer so I asked him for some tips on getting started and any resources he recommended I use. Specifically, I asked if he had signed up for any courses or bought any books, to which he replied “Apple has great documentation, so I didn’t really want to pay money for someone to read it to me.” Touche, I thought. Also, the readings for the Stanford course mentioned above all come from the Swift documentation written by Appple.
Apple Programming Guide for iOS
Start Developing iOS Apps (Swift)
The Swift Programming Language (Swift 3)
And manymore!
Blogs
Blogs are a great way to hear about other’s experiences and take those lessons back with you to ultimately grow as an app developer.
NSHispter: http://nshipster.com/
Ray Wenderlich: http://raywenderlich.com/
iOS Architecture Patterns by Bohdan Orlov via https://medium.com/ios-os-x-development/
Meetups, lectures, etc.
You don’t want the first time you’re talking to an iOS developer to be when you’re sitting down for an interview. Talks, meetups, and other local events are a perfect low stress way to learn more about a field by talking to developers about their experiences, as well as get any questions answered you may have. I’ve started to attend iOSoho and Women in iOS Meetups in New York and they have been really great. It’s nice to hear about how other people decided to get into iOS development and projects they have worked on. There’s literally a Meetup group for everything!
Meetup: https://www.meetup.com/