iOS Navigation 101, Making The Map
To make it where we plan on going, we’re going to need a map, and for us to achieve that, we’re going to need to get the lay of the land. If any of you have ever tried your hand at writing, you’ll know that there are plotters, and pantsers. I’m all for spontaneity, my favorite writer Stephen King is probably the most notable pantser alive. I’ve always admired the idea of it, however, it’s never worked for me, I need to know where I’m going. This isn’t writing a book, it’s coding.
Even knowing this, when I came into iOS, it was almost with a pantser’s mindset. I started learning without any clear direction of where I was headed, and guess where it got me? Lost. I realized what I needed was a map, and even though there are online classes, and even boot camps out there that will try and give you direction, I haven’t found one that gave me a complete map, and unless you want to follow the path someone else has laid out for you, you’re going to have to learn how to make one yourself.
You Wouldn’t Bet Your Career On The Advice Of One Stranger, Would You?
When I began making my map, I gathered every resource I could find. But before that, all I had was one class on Udemy with Angela Yu. It was really silly now that I think about it. When you write a paper in school, you get marked down for having one source, you get caught up in what their idea of the subject is, and it’s completely one sided when you don’t know enough to challenge it. What kicked me into gear was trying to get into a bootcamp at Lambda. I ended up deciding not to, for reasons I’m probably not going to go into, but what I did get from them was their course curriculum. I saw how structured it was, and that they had a clear path of what they thought a junior iOS developer should know by the end to get their first job. It was a game changer.
Gathering Your Resources
I’ve made my own curriculum since then, but it was a great starting point! After that, I got a few more classes on Udemy, found a few podcasts about coding in general to get my feet wet, and I determined my scope. I was able to take Lambda’s curriculum and see what classes and books I had that touched on each subject. What you want to do when making your map is look at a broad overview of the resources you collected. Look at what subjects they all have in common, and the general order they’re presented in. We want to make our own map, but we don’t have to reinvent the wheel in the process! Think of it like a table of contents for a book. If you were looking at an online class, look at the headings of each module like a chapter title. Each of them the key topics you need to learn, and inside each chapter is the meat, the heart of the subject.
You’re going to need a few maps. This example might be a bit outdated due to GPS, I’m not sure many people use real maps anymore, but think of it like this. If you were going on a road trip across the country, you’d have a large map of the country. A broad overview of the states, their major highways and major roads and things like that. After looking around at what all the resources I’d gathered had in common, this is my first wold map. It will constantly evolve as I grow to learn more, but for now, this is the path I’m following.
- Map 1 – The Basics
- Map 2 – Git
- Map 3 – MVC
- Map 4 – View Controllers, Table Views
- Map 5 – Cocoa Pods
- Map 6 – Auto Layout
- Map 7 – Collection Views
- Map 8 – Networking
- Map 9 – Rest, Put, Post
- Map 10 – Core Data
- Map 11 – Animation
- Map 12 – Concurrency
- Map 13 – Debugging
- Map 14 – Unit Testing
- Map 15 – iTunes Connect, And The App Store
The Smaller Maps
These large maps often show smaller cities and roads, but eventually, once you get closer to where you’re going, you’d need another map. A map of that particular area, with detail of how to get to your final destination. All of these maps compliment each other. There’s just know way a world map can show you how to get to a street in your city, and there’s no way a map of your city can show you how to get to somewhere in Russia. I mean, unless of course, you live in Russia. And for that purpose, we have our world map, and then we have our local maps. For example, in the above section where you see Map 1 – The Basics, I have broken that down into a smaller, local map.
Map 1 – The Basics
- IBActions and Outlets
- Difference Between Constants And Variables
- Understanding Strings
- Ints, Floats, Doubles
- Print Statements And Using The Console
- Collections And Arrays
- If Else Statements
- AND and OR Statements
- While Loops
- For Loops
- Switch Statements
- Using The Simulator
- Building And Running To Device
I know this can be a lot to take in, so I’ll end this post here, but trust me guys, you don’t want to get lost while exploring, unless your intention is to get lost. Make these maps for yourself, take them with you, and navigate around Swift and iOS like a master. How many of guys can check off all the items on map 1? I’ve only posted the first map as an example, I have a local map for every section on the world map, but for you experienced developers, is there anything you’d add to the world map? Anything I have wrong that can be improved on by switching the order? Let me know, I’m here to be helped just as much as I want to help others.
If you’re not quite to the end of the first map and just beginning, you might want to check out this post, and if you’re even newer than that and you haven’t started down the path os iOS at all, you may want to start here!
If you’re social, you can find me on twitter!