A Beginner’s Guide to Getting Started With iOS Development

It all begins with an idea. Maybe you want a weather app that has a certain feature you can’t find elsewhere, or you want a study timer that provides a specific functionality that no other app has, or perhaps you dream of a more colorful version of an app that matches your aesthetic. App development can open the doors for you to bring your ideas to life, and possibly make money doing so!

During my senior year of college, I was dealing with my Computer Science degree coming to an end and having major imposter syndrome and anxiety about what I wanted to do in the future. Up until that point, I had only dabbled in iOS development, and had mainly done projects in C++, Python and Java. I took a long hard look at my life and realized that I needed to choose a path and stick to it. At that point, I decided to focus and grow my skills in something that actually interests me: iOS development.

From that point, I started with the basics of Swift. I learned the syntax for simple things like loops, how memory is managed in Swift, and some of the unique features of the Swift language like closures and extensions. From there I started playing around with Xcode, trying different things like creating buttons, labels, and TableViews. I continued along my learning path and before I knew it I was publishing my first app to the Apple App Store, followed by my second and, well, you get the point!

Although I did have prior coding experience, I truly believe that anyone can learn these skills with the right resources, so I’ve curated a list of topics and online resources for iOS beginners that I think will be a great starting point for anyone wanting to dip their toes into the wonderful world of iOS development.

First thing’s first: Getting Started with Swift

Swift is the primary language that is used for iOS development. To create an app, literally all you need is Swift. (I’m not kidding, its that simple). Since Swift is the foundation of all iOS apps (except legacy apps written in Objective-C but we’re not worrying about that right now), its crucial that you have a solid understanding of the language before diving into building an actual application. Now, this could take you a few days or a few weeks depending on your prior knowledge of coding, but I’ve collected some resources and topics to help keep you on track.

Note: To write code with Swift, you must have a Mac, and you must download and install Xcode, the IDE (Integrated Development Environment) for iOS development. You can downlod and install Xcode here

Once you have Xcode installed and set up, you can dive right into learning the basics of swift. Here are the topics you should start with:

Topics You Should Learn:

  1. Declaring variables (var vs. let)

  2. Variable types (Int, String, Bool, Double, Float)

  3. Data Structures (Arrays, Dictionaries, Sets)

  4. String Interpolation

  5. Loops (for, while)

  6. Functions

  7. Closures

  8. Extensions

  9. Structs

  10. Classes (the difference between Struct vs. Class)

  11. Enums

Swift Resources:

Next Step: Learn How to Build Your UI

UIKit is the the framework that allows you to program the UI of an iOS app. If you’re unfamiliar with what UI is, it stands for User Interface, and to put it simply, UI is everything that the user sees when they use your application. Some examples of this are buttons, text, animations, photos, icons, and so much more. UIKit provides iOS developers with components that they can use to develop the UI of their applications, so learning the basics of UIKit is a fundamental skill that you need if you want to build an iOS app.

Now, there are 2 ways to build the UI of your iOS app:

  1. Programmatic (Using code)

  2. Interface Builder (Using Storyboards, which are kind of like drag & drop design systems)

Programmatic UI vs. Storyboards

Every developer has their own way of doing things, whether its using storyboards or programming their UI themselves programmatically, each way has its pros and cons. Building UI programmatically is my own personal preferred method, but the method you choose just comes down to preference.

Building your UI programmatically allows for more customization and ease, however writing out your AutoLayout constraints can easily become a messy ordeal and turn into a lengthy task.

Storyboards solve the problem of programming lengthy constraints, however, Storyboards have a reputation of being a little slow and have a learning curve for beginners. Ultimately, it’s your choice so play around with both to find out what you prefer.

UI Resources:

Programmatic UI

UI Using Storyboards

The Fun Part: Build Some Projects!

Now that you have the basics of Swift down and you know how to build UI for an app, you have prettty much all the tools you need to start building your own projects! If you’re still a little unsure of your skills, you can start slow by following tutorials until you get the hang of things. I’ve linked some great tutorials below that you can follow along with, and I’ve also included a list of cool ideas for projects to build for beginners!

Code-along App Tutorials:

Project Ideas For Beginners:

  • Calculator

  • Tip Calculator

  • Tic Tac Toe

  • Recipe List

  • To-do List

  • Currency Converter

  • Unit Converter

  • Convert Words to Morse Code

  • Random Password Generator

What’s Next?

Once you’ve completed and mastered the basics, you’re ready to move onto more complex things like working with APIs, JSON, User Authentication, CoreData, Databases, and CocoaPods. That’s beyond the scope of this article but I will be covering more advanced topics in future blog posts, so stay tuned! For now, here are some resources to get you started…

Advanced Topic Resources:

Go The Extra Mile: UI Design Resources

Now, go forth and create amazing things with your newly acquired skills!