5 Things I Learned Building my First iPhone App
I built an iPhone app. Yep. I learned a lot through the process, and wanted to share some of the takeaways with other developers, and aspiring app builders, offering encouragement and advice. I developed the app in Swift, Apple’s new language. Swift is clean, functional, and a whole lot simpler than Objective-C. The process was hectic at times, but extremely rewarding at others. It was arduous, but fulfilling. I share what I learned below.
1. Swift is Easy, iOS Development is Not
When Swift was first announced at WWDC, I eagerly digitally flipped through Apple’s developer iBook. The language looked so easy. Variables were easy to declare, classes easy to create, and arrays easy to populate. Unfortunately, this does not translate directly to iOS development. iOS development is not about knowing Swift, it’s about knowing how to use Swift to manipulate Apple’s built in functions. For example, Apple uses a function called didSelectRowAtIndex that determines what a cell should do when it is tapped in a table. You then get the cell attributes from the Table in the View, such as the cell color and size. You also get the row number of the cell that is tapped. None of this could be done with vanilla Swift. It’s about knowing how to manipulate Apple’s functions with Swift. Let’s look to an analogy of the English language. Swift is like knowing English words. iOS development is knowing how to use those words to write a sentence.
2. Marketing is just as Important as Development
We developers like to think that we are the most important part of any app, that companies depend on us, and that we are totally indispensable. And that we’re humble. (Maybe not.) What I realized through the process of creating, and deploying an app, is that your app is worthless if people don’t use it. It could be the most innovative, most interesting, most useful app in the world, but if people don’t use it, your app is worthless. So how do you get people to use it? Well, you need marketing. Marketing is as important as development. Whether it be social media campaigns, word of mouth, or TV advertisements, marketing is a critical part of a successful app.
3. Objective-C is still Relevant, and will Stay Relevant
I thought that learning Swift would get me out of the ugly syntax of Objective C. I was wrong. Unfortunately. I can’t tell you how many times I had to translate Objective-C code to Swift. There are a ton of resources for Objective-C, and Swift, in its infancy, simply doesn’t have as many resources. Objective-C is not dead by any means, and certainly won’t be completely replaced by Swift anytime soon. You can’t learn Swift without knowing at least a little Objective-C, as you will run into old code that must be translated.
4. Learning iOS Development Takes Time
The old saying holds true. Rome wasn’t built in a day. (It also wasn’t built at night.) Same goes for apps. People are inherently impatient. Just browse around Quora or Yahoo Answers, and you’ll see tons of questions like, “How can I learn to make iOS apps fast?”, or “How can I learn to make iOS apps in a week?” The unfortunate truth is that app development takes time. One of the greatest strengths an app developer can have is experience. Experience takes time. Tom Brady didn’t just wake up one day and become a professional caliber quarterback. It took years of dedication and work.
5. The Best Way to Learn iOS Development is by Building
You can read as many book on Swift, Cocoa, and Algorithms as you want, but unless you get your hands dirty in code, you will never learn. As I said before, the best way to learn is by gaining experience. Reading books and tutorials without coding is not gaining experience. You may gain knowledge, but you will not be able to apply that knowledge in a real world situation. I learned so much building my app. If I got stuck at a certain point, I would Google the problem, and learn what was going wrong, and how to avoid the mistake the next time. I would learn practices to avoid bugs that I would have never learned if I had simply read books. Experience is everything.
Building my first app was difficult, annoying, and tedious at times, but looking back, it was totally worth it. In the end, I had a lot of fun building the app, and would encourage anyone to do it. I hope to build more apps, and learn a little bit more each time.
P.S. If you’re wondering what app I built, it is an app called Bruh. It’s a hilarious app, and has many active users. What you do is you tap a friend, and their phone says “Bruh”. Bruh, a shortened word of the word “brother” is an insanely popular word among youth and teenagers. The word conveys many different emotions, from confusion to amazement, depending on the context of the “Bruh”. You can check it out here: https://itunes.apple.com/us/app/bruh./id950161878?mt=8