Announcing SwiftUI by Tutorials, Fourth Edition!

Build apps more efficiently with SwiftUI’s declarative approach and leave the old ways of imperative coding in the dust, with this freshly-updated book. By B. Patil.

Save for later

No more imperative coding for your iOS apps. 🙅

Step up and learn how to design your UI, the declarative way. 😎

You deserve to build responsive iOS apps with less code. 😉

And we’ve got just the thing to help you with that.

Meet SwiftUI by Tutorials! 📘

Our SwiftUI by Tutorials book is here to build fluid and engaging declarative UI for your apps with way less coding with SwiftUI!

What excites us about SwiftUI is that it 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. 🤩

Who Is This Book For?

If you have some experience with iOS and wish to learn everything about SwiftUI to build your app’s UI in a declarative and modern way, this book is for you!

What’s Inside the Book?

This updated edition of SwiftUI by Tutorials kicks off with the foundations of SwiftUI and then goes into more advanced concepts like testing and animations.

Section I: Diving Into SwiftUI

This section kickstarts your SwiftUI journey with the foundations you need. You’ll learn about:

  • Basic terminology in Swift
  • How SwiftUI makes declarative development easy
  • Creating reusable modifiers
  • Testing and debugging

Here’s a sneak peek at primitive views grouped as controls, layout, paint and other views, with modifiers for controls, effects, layout, text, image and more:

Section II: Building Blocks of SwiftUI

In this section, you’ll build on what you have learned in Section I to begin using SwiftUI in more complex and advanced apps.

  • Intro to Controls: Text & Image
  • Controls & User Input
  • Stacks & Containers

Here’s a sneak peek at Kuchi, a language flashcard app that you’ll build to learn the above concepts:

Section III: State & Data Flow

In this section, learn how your user interface reacts to data flow and state changes. You’ll learn about:

  • Binding data to the UI.
  • Developing reactive UI updates through state management.
  • In-depth usage of the attributes related to SwiftUI.
  • Advanced input controls like calendar and color pickers.
  • Persisting information with App Storage.
  • Dealing with gestures and developing custom gestures.
  • Using the SwiftUI Accessibility API attributes to improve your app’s accessible UI.

Here’s a sneak peek at the settings screen you’ll be building on top of the previous app, Kuchi:

Section IV: Navigation & Data Display

In this section of the book, you’ll move through your app screens with SwiftUI and discover how to display data in them. You’ll learn about:

  • Navigation
  • Lists
  • Grids
  • Sheets & Alert Views

And more! Here’s a sneak peek at the flight data app that you’ll be building in this section to practice the above concepts:

Section V: UI Extensions

In this section of the book, you’ll push forward your SwiftUI knowledge with complex interfaces implementing animations and custom graphics. You’ll learn about:

  • Drawing & Custom Graphics
  • Animations & View Transitions
  • Complex Interfaces

And more! Here’s a sneak peek at the custom graphics that you’ll be building in this section:

Section VI: SwiftUI for macOS

In this last section of the book, you’ll learn how to implement all you know of SwiftUI in macOS desktop applications. You’ll learn how to:

  • Build a Mac App
  • Convert an iOS App to macOS

Here’s a sneak peek at the Markdown editor macOS app in the first chapter of this section:

What Do You Need?

To follow along with this book, you’ll need the following:

  • A Mac running macOS Monterey (12.0) or later.
  • Xcode 13 or later. Xcode is the main development tool for writing code in Swift. You need Xcode 13 at a minimum, since that version includes Swift 5.5 Xcode playgrounds. You can download the latest version of Xcode for free from the Mac App Store, here:

How to Get Your Own Copy

There are two ways you can get this book:

  • Buy it individually: If you want to build up a custom library without a subscription, you can choose to buy the book individually. It’s available now for just $59.99 in our online store.
  • Get it as part of our Pro subscription: Enjoy access to our videos and mobile development books in our Ultimate Pro subscription, including SwiftUI by Tutorials! Right now, you can get a full year’s subscription and save 20% off the cost of a regular monthly subscription. It’s simply the best investment for your development career.

We hope you enjoy this book! Feel free to reach out to us if you have any questions.

Say Hi to our Team! 👋

Meet the awesome folks who contributed to this book…

Antonio Bello [Author]: Antonio Bello is an author of this book. Antonio has spent most of his life writing code, and he’s gained a lot of experience in several languages and technologies. A few years ago he fell in love with iOS development, and that’s what he mostly works on since then, although he’s always open for challenges and for playing with new toys. He believes that reputation is the most important skill in his job, and that “it cannot be done” actually means “it can be done, but it’s not economically convenient.” When he’s not working, he’s probably playing drums or making songs in his small, but well fitted, home recording studio.

Bill Morefield [Author]: Bill Morefield is an author of this book. Bill has spent most of his professional life writing code. At some point he has worked in almost every language other than COBOL. He bought his first Apple computer to learn to program for the iPhone and got hooked on the platform. He manages the web and mobile development team for a college in Tennessee, where he still gets to write code. When not attached to a keyboard he enjoys hiking and photography.

Audrey Tam [Author]: Audrey Tam is an author of this book. As a retired computer science academic, she’s a technology generalist with expertise in translating new knowledge into learning materials. Audrey now teaches short courses in iOS app development to non-programmers, and attends nearly all Melbourne Cocoaheads monthly meetings. She also enjoys long train journeys, knitting, and trekking in the Aussie wilderness.

Sarah Reichelt [Author]: Sarah Reichelt is an author of this book. She got hooked onto trying to make computers do what she told them a very long time ago and has never stopped loving it. She was inspired by Swift and now by SwiftUI to learn a new approach to this, and is a keen evangelist for developing Mac apps. When not at her computer, Sarah loves coffee, puzzles, reading and cooking – the day hasn’t started until the first cup of coffee is drunk and the crossword is done!

Pablo Mateo [Final Pass Editor]: Pablo Mateo is the final pass editor for this book. He is Delivery Manager at at one of the biggest Banks in the world, and was also founder and CTO of a Technology Development company in Madrid. His expertise is focused on web and mobile app development, although he first started as a Creative Art Director. He has been for many years the Main Professor of the iOS and Android Mobile Development Masters Degree at a well-known technology school in Madrid (CICE). He has a masters degree in Artificial Intelligence & Machine-Learning and is currently learning Quantum Computing at MIT.

Gustavo Graña [Tech Editor]: Gustavo Graña is a Tech Editor for this book. He started coding coding 20 years ago to solve daily problems he faced in the early 2000 to communicate, first with mIRC scripting language, but it quickly evolved into a broader interest in other areas of technology. He works with mobile since 2010 and with Swift since 2014. He is motivated by making an impact on the day-to-day with technology, trying to make life easier for others. Outside the area of technology, Gustavo is always eager to know how to have a healthier life.

Jeremy Greenwood [Tech Editor]: Jeremy Greenwood is a Tech Editor for this book. He brings over 20 years of experience in tech, building, testing, and innovating digital products. His natural curiosity to understand the ins and outs of his craft have given him expertise in all layers of the stack, from hardware circuitry and embedded protocols to visual experiences. Jeremy is passionate about taking product ideas from the drawing board to digital screens and finds joy in the opportunity to impact users through software. He is keen on the details which elevate a project from ordinary to extraordinary. When not working on software, Jeremy can most likely be found in the woods on a trail, dreaming about creative solutions to everyday problems.

B. Patil


B. Patil


Over 300 content creators. Join our team.