How to learn Apple Swift, Apple’s language for creating iOS and macOS apps

Want to create your own app? To do so, you need to learn a programming language. Fortunately, Apple has a language for writing apps for the Mac, iPhone, and iPad, and you can have fun learning it, as well. It’s called Swift.
Released in 2014, Swift’s popularity amongst programmers continues to grow. Swift is an open-source language, so you can write apps for Linux, as well.
There are a lot of ways to go about learning Swift, and many of the lessons can be done on your own time, sometimes for free. Many of these tutorials and guides are based on the premise that you already know how to program in another language, or are familiar with programming concepts.
If you’re absolutely new to programming, you may want to prep yourself first on the general programming core concepts. There are several online courses, like Khan Academy, Udemy, Coursera, and Lynda.com that have introduction courses. You can also check your local community college if you think you would benefit from being in a classroom and computer lab. Prices vary and some institutions offer tuition assistance.
If you’re already familiar with coding core concepts, or you just want to dive in and see how it goes, you can get started on learning Swift. Here’s how.
How to learn Swift: Getting started
The first step is to download Xcode, Apple’s app for creating software. Xcode includes Swift and it’s free. You can download it by clicking the link below, which will take you to the App Store.
The next step is to take a look at Apple’s Swift resources. These are free guides, code samples, videos, and documents you can access, and you don’t need a developer account.
Apple has sample code available for anyone learning Swift.
How to learn Swift: Apple tutorials and courses
If you’re a student or you’re absolutely new to programming, make your first foray into Swift with Swift Playgrounds. Swift Playgrounds is an iOS app for iPad that uses interactivity to learn the language. You learn Swift fundamentals by using real code to work your way through a set of puzzles. As you progress, you lean more complex concepts. It’s a fun way to lean Swift, even if you’re an experienced coder, and it’s free.

Swift Playground in Spanish.
Apple has a lot of great resources on its iBooks Store. Best of all, they’re free. You can find them using the iBooks app on your iOS device or Mac. Give them a try.

Intro to App Development with Swift.
How to learn Swift: iTunes U
The iTunes U section of the iTunes Store has lots of Swift-related content. Here are a few courses to try. (Note: Starting in September 2017, iTunes U will be located in the Podcasts section of the iTunes Store. It is no longer its own separate section.)

The Swift Playgrounds: Learn to Code 1&2 course is a great companion to the Swift Playgrounds app.
How to learn Swift: Third-party online courses
If you feel like you could benefit from more training, or want to to take a more formal course, there are several online classes you can take with third-party services. You’ll have to pay fees for each course, and the prices vary. Here are a few online courses.
Coursera has a four-part series on Swift iOS app development, which is done in conjunction with the University of Toronto.
Envato Tuts+ has a few Swift courses, but be sure that the one you’re taking is for the current version of Swift; they still have courses available for Swift versions 1 and 2.
Lynda.com has several Swift courses. Each course has a video preview so you can see if the instructor strikes a chord with you.
Thinkful courses are pricey, but you learn with a mentor who meets with you through video chat.
Udacity has a free beginners course and a free course for developers. They also offer (for a fee) a “nanodegree” program that’s more structured.
Udemy has several Swift courses that span offerings for beginners as well as more seasoned programmers. They have many courses that seem to cover the same topics, but each course is offered by a different instructor. Look at the star ratings and read the reviews before signing up for a course.
How to learn Swift: Podcasts
Podcasts are a great way to supplement your lessons. Hear and learn from developers about their experiences creating apps with Swift.