Learn Swift: 15 beginner-friendly resources for iOS app development

If you have an iPhone or iPad app idea but no idea where to begin, start with these great resources

Learn Swift: 15 beginner-friendly resources for iOS app development
Thinkstock

Now is a great time to start programming in the Swift programming language on iOS. But where to begin? While there are a lot of great free resources for Swift and iOS programmers, not all of them are designed for the complete beginner.

The 15 resources compiled here—from Apple’s own excellent guides to books, videos, and online tutorials from third parties—will serve anyone new to iOS programming, even those who lack programming experience.

Pick two or three resources below and focus on reading, watching, and practicing what you learn. Having a few different resources to learn from will provide different angles and give you leverage when you don’t understand a topic.

For good measure, I’ve included some tips for making consistent progress and overcoming obstacles beginning programmers commonly face. Are you ready to dive in? Great!

Today you’ll learn how to start coding with Swift, so that you can build your own iPhone apps, or apps for your company. You’re also going to learn a vocabulary around apps, code, user interface, marketing, and design.

Apple’s iPhone app developer resources

The best place to start is with Apple’s free iPhone app development resources. Use these to jumpstart your understanding of code, and as a reference when you get stuck.

Since Apple keeps changing iOS and the Swift programming language, it makes sense to start with Apple’s Swift programming guide, as well as its introductory programming resources like Swift Playgrounds on iPad.

Swift Playgrounds for iPad

If you’re brand new to programming and you have an iPad, you should start exploring code with Apple’s Swift Playgrounds iPad app. It’s an app that is designed to teach you the basics of coding from the comfort of your couch.

Using the Swift Playgrounds app, you’ll explore different coding challenges, and you can control various robots (Lego Mindstorms and Sphero).

Swift Playgrounds on iPad (A fun way to learn code)

Swift Playgrounds: Learn to Code 1&2

Apple has created new video resources that teach the basics of coding using Swift. The video course will complement your training in the Swift Playgrounds app, and serve as a handy resource as you start to create your own apps in Xcode.

These free videos are a great introduction if you have never programmed before and want a crash course of short digestible videos.

Watch Swift Playgrounds: Learn to Code 1&2 (Apple’s free video course)

Download Xcode on Mac

Xcode is Apple’s IDE (integrated development environment), which is the app that you’ll use to write code for apps that you can publish on the App Store. Xcode allows you to add images, video, data, UI, and animations to power your iPhone, iPad, Apple Watch, Mac, and Apple TV apps.

After you explore code in Swift Playgrounds on your iPad, your next step will be to learn how to use Xcode to make actual iPhone apps you can sell on the App Store.

Download Xcode 9

Apple’s Swift book

The Swift book is your primary reference on the basics of Swift along with more advanced topics.

By reading this book you will get exposure to the terminology, syntax, and examples of how you might use Swift. You should take notes and write down questions when you don’t understand a topic. As you learn, you’ll be able to answer your questions.

Download and read the Swift book on iBooks

Swift Tour and Xcode Playground

Instead of reading the Swift book cover to cover, you should read parts of it and follow along with the code. Apple created a great introduction using Xcode Playgrounds on Mac (different from the Swift Playgrounds on iPad), which allows you to play with the code.

Follow the Swift Tour from the Swift book on Apple’s website and explore the code in the Swift Tour Xcode Playground.

Apple’s Start Developing iOS Apps tutorial

Learning Swift is like learning how to draw. It’s one of the base skills that you will use to make apps, but it’s not everything you need to use.

To make apps for iPhone you’ll use Apple’s APIs (application programming interfaces) and frameworks to create interactive user interfaces and add animations. Follow Apple’s online tutorial to create your first iPhone app.

Build your first app following Apple’s Start Developing iOS Apps tutorial

Learn the iOS and user interface terminology

As you build an iPhone app it helps to learn the terminology and the design aspects of iOS and the iPhone X. Apple’s iOS Human Interface Guidelines will show you examples of the different user interface (UI) controls that you can leverage in your app.

You’ll want to download Apple’s UIKit Catalog sample iPhone app to see examples of the iPhone UI you can use in your iOS apps.

And if you’re curious about the latest changes in iOS you can browse the new technology that Apple features in the iOS technology overview.

Apple’s programming courses

Apple has two additional programming courses that are interactive iBooks with supplemental Xcode Playgrounds. These free programming courses will help reinforce your knowledge and quiz you as you learn.

iPhone app development tutorials for beginners

Apple’s free books, videos, and playgrounds are great starting places for beginner iPhone app developers. However, they don’t show you how to do everything you might want to do with your app.

When you want to interact with maps, gestures, databases, user accounts, and more, you’ll need to take the next step with beginner tutorials.

Video tutorials and step-by-step projects are very helpful when you want to learn how to do a specific task in your app, or if you need to learn how to use a new API.

It’s OK if you don’t understand what you’re doing when you follow a tutorial. The process of writing code, and then trying it again without the tutorial will help you learn quickly.

Code with Chris

Chris provides beginner-friendly resources that you can leverage to get started. Many of his videos are on YouTube, which means you can learn with him for free.

Chris produces high-quality tutorials that can help you overcome your initial programming challenges, because he walks you step-by-step through the code.

Start Chris’s How to Make an App tutorial

Ray Wenderlich

Ray Wenderlich produces tutorials on almost every single iOS topic. You can find tutorials on specific topics like animations, gestures, and Core Data, as well as newer topics like ARKit for augmented reality apps.

Ray has been teaching iOS development for a long time and he has a ton of experience. He has built a team of developers who are creating new content every month that will help you make apps.

Start Ray’s free iOS App video series or search for an iOS topic you want to learn.

Ray’s team also produces many hands-on iOS developer books on technologies and techniques that you can leverage in your apps. All their books are updated for the latest version of Xcode and Swift. And if you buy the digital books, you can get updates for free.

Treehouse

Learning from different resources will give you more perspective on coding and the related processes.

Treehouse is a great educational site that covers iOS in addition to many other topics. It’s so approachable, you might consider it the Sesame Street of programming and design knowledge.

It’s a paid membership that has multiple learning tracks, and includes gamification to incentivize you to make progress as you learn.

Check out the iOS courses on Treehouse

Books on iOS and Swift

There are many books on iOS development that you can read, but not all of them are updated regularly. The following authors are constantly refreshing and updating their books for the current versions of iOS and Swift.

These books are great introductions to working with Swift and the iOS SDK. They will cover more advanced topics and give insight into the various code topics. Feel free to jump around these resources, or read the chapters that are most relevant to your app idea.

iOS 11 Programming Fundamentals with Swift

O’Reilly author Matt Neuburg has been great at keeping his materials up to date. If you need an additional developer perspective and more of the why about various topics, then you’ll want to get this book.

Get iOS 11 Programming Fundamentals with Swift

Swift Apprentice book

This Swift book will help you understand Apple’s programming language from an outside perspective. It also comes with challenges designed to test your knowledge of Swift and help you dig deeper into the language. If you get stuck, you can ask questions on the authors’ popular code forum.

Get the Swift Apprentice

iOS Apprentice

Learning Swift is like learning how to lay a foundation. After you understand the basics, you need to learn how to build apps using Apple’s iOS SDK. In this book, you’ll walk through tutorials to build fully functional iPhone apps.

Get the iOS Apprentice

Big Nerd Ranch

You can also checkout the Big Nerd Ranch books, but these books are not updated as frequently, so you might find they don’t support Apple’s most recent changes to iOS and Swift.

Browse Big Nerd Ranch’s books

Start learning iOS programming today

If you want to start making apps, commit to getting started today. Your first step is to identify which resources you want to start using. Then you simply need to make time in your day to sit down and learn. Creating a quiet space to focus and a daily schedule is going to give you the results you want.

21 days of code

To make iPhone apps you will need to set a goal and commit to yourself that you will learn iPhone app development for 21 days. Setting a goal in advance will help you keep going, even when you encounter obstacles. Plan on spending 30 to 60 minutes reading (or watching tutorials), and 30 to 60 minutes writing code every day.

When and how you learn is going to dependent on your available time. I recommend spending one or two hours every day on learning and practicing. I find that reading at night gives my subconscious mind time to think about the topic, so that first thing in the morning I can start coding after a quick review. Consider this sample learning schedule:

  • 7:00 – 7:30 a.m.: Review the Apple Swift book and your notes
  • 7:30 – 8:00 a.m.: Practice writing code
  • 9:00 – 9:30 p.m.: Watch Apple’s Learn to Code 1&2 videos
  • 9:30 – 10:00 p.m.: Read Apple’s Swift book and take notes

As you learn you’ll want to take notes, so that you can remember what you learn and track your progress. In your notes, you should write down ideas, goals, topics, questions, code snippets, and helpful links. Using a digital notebook like Apple’s Notes, Evernote, or a text file will allow you to copy/paste code, and answer your own questions. (I use Markdown formatting to organize my daily progress log with Multimarkdown.)

Start your 21 days of Swift challenge today by sharing your commitment with #21daysofswift (you can tag me @PaulSolt for accountability). Share a summary of what you learn each day of the challenge.

6 learning tips for programming beginners

As you start learning iPhone app development you’re going to run into challenges and obstacles.

A common beginner challenge is figuring out where to put your code. The right code in the wrong spot won’t work, and as you start to discover the nuances of using Xcode you’ll want to try some of these strategies to boost your confidence.

  1. Code is case sensitive—double check your spelling.
  2. Watch a code tutorial video and follow along (pause frequently).
  3. Re-watch a video one or two times to pick up on details that you might have missed.
  4. Google the error message that you see in the bottom console window for help.
  5. Ask a friend for help, or visit Stack Overflow and ask a question with sample code and the error message (be descriptive).
  6. Start over with a new project or playground.

As you continue to write more code, read, and watch tutorial videos you are going to be learning many different things. It can take time to fully comprehend code, which is why you should plan on spending 21 days to practice your new skill.

The first few days are going to be challenging, but you will start to have more and more “aha” moments as you continue. You’ll find it thrilling to open your app on your iPhone.

If you get stuck, or need a learning plan, reach out on Twitter to @PaulSolt or email me at Paul@SuperEasyApps.com

Copyright © 2018 IDG Communications, Inc.

How to choose a low-code development platform