Learn SwiftUI: 24 Essential Tutorials for Beginners

...
SwiftUI Tutorials

What is SwiftUI?

SwiftUI is a user interface toolkit that allows developers to design iOS apps declaratively. With SwiftUI, developers determine what they’d like their user interface to look like and how it should function, and SwiftUI makes it happen as users interact with it. Declarative Swift syntax is easy for developers to read and natural to write. It also acts as a cross-platform user interface layer for iOS, macOS, tvOS, and watchOS — meaning you only have to learn one language and one layout framework to deploy your code anywhere. SwiftUI also works seamlessly with new Xcode design tools to keep your code and design working in lockstep.

While SwiftUI is beginner-friendly, it's also packed with design and workflow tricks to help streamline the development of top-quality user interfaces and interactions. There are additional aids to help you throughout your development journey, too. By leveraging APIs and SDKs, you can bypass complex builds for elements of your app, like chat messaging.

To make the most of the toolkit, we’ve rounded up 24 of the top SwiftUI tutorials to cover the basics, plus a bit more.

Basic Components of SwiftUI

Views and Controls

Views and controls are the visual building blocks of your iOS app’s user interface. Use them to present your app’s content on the screen and support user interactions. Views represent text, images, shapes, and custom drawings and animations, while controls enable user interaction with consistent APIs that adapt to their platform and context. Developers can combine views to create stacks. They can also dynamically generate groups and lists of views, define view presentations, and embed AppKit, UIKit, and WatchKit views and controllers into SwiftUI view hierarchies.

Data and Events

As previously mentioned, SwiftUI takes a declarative approach to managing data. As you compose a view hierarchy, you also establish data dependencies for the views. When an external event or user interaction occurs, SwiftUI automatically updates the affected parts of the interface. As a result, the framework automatically performs most of the work traditionally done by view controllers and helps you maintain a single source of truth for every piece of data in your app.

SwiftUI Essentials from Apple

The best way to familiarize yourself with the essentials of SwiftUI is by going straight to the source. Apple’s introductory course is four chapters long and covers:

  • SwiftUI Essentials: Learn how to use SwiftUI to handle user input, compose rich views out of simple ones, set up data flow, and build out navigation infrastructure while watching it unfold in Xcode’s preview.

  • Drawing and Animation: Learn how to draw shapes and paths to create a badge that you’ll animate and create seamless transitions.

  • App Design and Layout: Learn how to work with UI controls and manage the structure and layout of more complex interfaces.

  • Framework Integration: Learn how to use SwiftUI views and view controllers from platform-specific UI frameworks and test your skills by creating a macOS or watchOS app.

Top SwiftUI Resources

SwiftUI Tutorials from Apple

Video Tutorials

Additional Resources

SwiftUI Newsletters — Stay Up to Date!

  • SwiftUI Weekly — Sign up to have a curated collection of links about SwiftUI delivered to your inbox every Monday, plus gain access to content from past emails.
  • Hacking with Swift — Register for a Swift newsletter that delivers news, tutorials, discounts, and more to your inbox for free.
  • iOS Goodies — A recently retired newsletter that has published all of its past email content on this page for you to enjoy.

SwiftUI Forums — Need More Help?

  • SwiftUI Reddit — An online community forum for SwiftUI users to ask questions, provide suggestions, and discuss the framework.
  • SwiftUI Apple Developer Forum — Apple's developer forum for SwiftUI where users can ask for help troubleshooting certain aspects of the framework.
  • StackOverflow — A forum where users can ask questions and receive answers from other SwiftUI enthusiasts.

Start Developing Your App with SwiftUI

Now that you know the basic components of SwiftUI and have the resources you need to get started, it’s time to begin developing your first SwiftUI app! In addition to the Apple tutorials, we’ve listed 24 supplemental videos, cheat sheets, and websites above that contain all of the information you’ll need during your development process and ways to stay connected to industry news long after.