Version Second Edition
Platform iOS 13
Language Swift 5.2
Editor Xcode 11

Build fluid and engaging declarative UI for your apps — using less code — with SwiftUI!

SwiftUI by Tutorials is designed to help you learn how to transition from the “old way” of building your app UI with UIKit, to the “new way” of building responsive UI with modern declarative syntax with SwiftUI.

This book is for readers who are comfortable building Swift apps, and want to make the exciting leap into building their app UI with modern, declarative code.

What is SwiftUI?

SwiftUI lets you build better apps, faster, and with less code. It’s a developer’s dream come true!

With SwiftUI, you can design your user interfaces in a declarative way; instead of developing app interfaces in an imperative way, by coding all of the application state logic before time, you can instead define what your app’s UI should do in a particular state and let the underlying OS figure out how to do it.

What’s more is that SwiftUI lets you build modern, responsive UI and animations for all Apple devices — not just iOS. So whether you’re building apps for iOS, watchOS, tvOS or any other Apple platform, you can use the same concise, natural language to describe your UI and have it look stunning — no matter where your code runs.

In addition, SwiftUI’s built-in automatic support for things such as dark mode, localization and accessibility, along with Xcode 11 support for drag-and-drop design and instant preview makes it easier to build apps than ever before.

Before You Begin

This section tells you a few things you need to know before you get started, such as what you’ll need for hardware and software, where to find the project files for this book, and more.



Section I: Diving Into SwiftUI

Start your SwiftUI journey with the foundations you need.

In this chapter, you'll get an overview of the book as a whole, as well as the apps you will be building as you learn the fundamentals of SwiftUI!


Get started with SwiftUI! Learn about the basic terminology, and discover the power of building your interface directly in the preview canvas. Check how SwiftUI makes declarative development easy and straightforward, and how you can drag and drop as you used to do with storyboards.


SwiftUI changes the way we must think about views, data, and control. Get a better understanding of the differences with UIKit; Learn how ViewControllers are being replaced or powerful concepts like @ObjectBinding and @EnvironmentObject.


Check how SwiftUI and UIKit/AppKit can be good friends and work together, side-by-side by integrating them in a single app. Learn how to navigate between both implementations and how to create and manage SwiftUI packages and frameworks.


Learn the differences between Apple´s platforms when dealing with SwiftUI. Learn how to focus on getting the best use of the device, its unique features, and its way to handle input. Customize an app and update it for AppKit, UIKit, WatchKit, tvOS, iPadOS, and Catalyst.


Section II: Building Blocks of SwiftUI

Build on what you learned in Section I to begin using SwiftUI in more complex ways in your apps.

Learn how to add and configure different SwiftUI controls within your apps. Discover modifiers in a practical way and how they can be shared across controls or used individually. Get an introduction to container views and how to use them with SwiftUI.


Learn about some of the main and most used controls in user interfaces such as TextFields, Buttons, Toggles, Sliders and Steppers, and how to use them with SwiftUI.


Learn the powerful capabilities of vertical and horizontal stacks. See how easy it is to apply them to your app layout and to nest them to generate almost any possible combination. Stacks are back stronger than before and will for sure become a game-changer in SwiftUI.


Learn how to bind data to the UI, about reactive updates to the UI through state management, and in-depth usage of the attributes related to SwiftUI.


Learn how to trigger updates on the interface, including how to easily test a SwiftUI interface, how to manage the flow of screens throughout a complex app, and how to deal with gestures, including the development of a custom gesture.


Increase your knowledge with more advanced SwiftUI controls. Lists are a must in almost any app. Here you will learn how to deal with any sort of list to get the best out of them. You will learn about navigation and start working with the most powerful user feedback an app can provide, Alerts, Modals, and Popovers. Need to provide users with extra functionality? Sheets and ActionSheets have also been prepared for SwiftUI.


Section III: Advanced SwiftUI

Level up your SwiftUI skills with the chapters in this section.

Sometimes you might need to show (or not) a view depending on certain conditions. Think of an alert message, for example. You can use them to focus the users' attention and request immediate feedback from them.


Learn how to draw with the use of paths, shapes, and geometry. Follow along to design your own element and bring it to life by applying some basic animations.


Learn the basic concepts for animating views using SwiftUI. Learn how to apply animations to view transitions, how to animate state changes, and how to combine and chain those animations.


In this chapter, you will learn how to develop more complex interfaces. Get out of your comfort zone and dive into more advanced concepts that will allow you to generate almost any UI you can imagine. You’ll learn the limitations you may find while developing advanced SwiftUI interfaces.


We all know how important testing is in modern application development. See how to apply UI Testing to your SwiftUI apps in this very simple, yet powerful course.


Meet the team


Who is this book for

This book is for intermediate iOS developers who already know the basics of iOS, and who wish to know everything there is to know about SwiftUI. It starts with a basic introduction of the toolkit and its features, with later chapters teaching you more complex concepts like testing and animations.

Concepts covered in this book

  • Understanding & Integrating Swift UI
  • The Apple Ecosystem
  • Controls & User Input
  • Drawing Custom Graphics & Using Animations
  • Complex Interfaces
  • Testing & Debugging

Version history

Third Edition · iOS 14, Swift 5.3, Xcode 12

v3.0 · Mar 17 2021 · Bill Morefield, Antonio Bello, Sarah Reichelt & Audrey Tam

Second Edition · iOS 13, Swift 5.2, Xcode 11

v2.0 · Jun 16 2020 · Audrey Tam, Bill Morefield & Antonio Bello

SwiftUI by Tutorials

By Audrey Tam, Bill Morefield and Antonio Bello

Build fluid and engaging declarative UI for your apps with way less coding with SwiftUI! SwiftUI by Tutorials, the complete guide to building fluid and engaging declarative UI for your apps — using less code — with SwiftUI, is now fully updated!

Read for Free with an Ultimate Pro Subscription* * Includes this and all other books in our online library See all benefits
Buy Individually $59.99* *Includes access to all of our online reading features.
See buying options
Hide buying options

All videos. All books.
One low price.

A subscription is the best way to learn and master mobile development — plans start at just $19.99/month!

Learn iOS, Swift, Android, Kotlin, Flutter and Dart development and unlock our massive catalog of 50+ books and 4,000+ videos.