Author: Oleksandr Shatov, Lead Product Designer at Meta

***

Recently, I have received many messages from fellow designers about transitioning from static design tools to creating a real iOS app using SwiftUI. In this article, I will describe my journey, sharing my favourite resources, practical tips, and the best tools for designers who want to master the framework and release their apps. 

Why SwiftUI is a Game-Changer for Designers 

SwiftUI is Apple’s framework for building user interfaces in iOS, iPadOS, macOS, watchOS, and tvOS. 

SwiftUI’s built-in modifiers for styling, animations, and gestures allow designers to create complex interfaces with minimal code. Specialists can also use native features like haptics, cameras, and sensors to make designs authentic. 

SwiftUI helps to ship real apps. The gap between design and development has shrunk, so designers can now turn their ideas into products accessible to millions of users. 

Getting Started: SwiftUI Basics

If you are new to SwiftUI, One of the best sources I have found is a YouTube course where every lesson begins from a blank page with detailed explanations. It covers everything from basics and modifiers to more advanced concepts

Some of the topics to focus on: 

  • Basics: Creating and styling basic UI elements like Text, Image, Buttons, and a To-Do list
  • Tools: Mastering HStack, VStack, and ZStack for arranging the interface
  • Navigation: Moving between screens and managing app flow
  • Case Studies: Rebuilding Spotify, Bumble, and Netflix with SwiftUI

After learning the basics, you can move to building real apps. 

How to build real apps 

Another YouTube channel I recommend specialises in building apps like Tinder and Instagram from scratch. These videos explain the entire process – from setting up the project and organising your code to implementing other features (authentication, data storage, and animation). 

My main takeaway from the tutorials is that building a simple app comes first.

Remember to take every real-world project as a learning opportunity. Creating code, organising files, and implementing features helps you acquire the developer’s mindset and understand how designs work and scale.

Each app you build brings you closer to mastering SwiftUI. With time and practice, you will become more confident in tackling complex projects and implementing your ideas into fully functional apps. 

To be inspired

Learning a new skill can be overwhelming. Therefore, inspiration and motivation are necessary. I highly recommend reading articles by Paul Stamatiou, especially his piece on building apps as a designer. His experience proves that anything is possible with persistence and the right tools. 

AI to be your code partner 

AI tools were also beneficial for my learning process. My favourite is Cursor, an advanced code editor integrating Anthropic’s Claude Sonnet. It gives you full access to Xcode project files and helps you instantly debug, refactor, and generate code. 

The reasons Cursor stands out: 

  • Other AI tools, such as the new GPT with Canvas, cannot access the file structure. Cursor understands the entire project. 
  • There is no native AI inside Xcode yet. However, Cursor’s integration is smooth

Integrating AI into your workflow lets you focus more on design and user experience – the creative side of the work. Instead of you, AI will handle the repetitive or complex coding tasks. 

Challenges and the future

When learning SwiftUI, you will encounter bugs, error messages, and frustration. Therefore, I would like to share some tips on how to overcome the issues. 

  • Step by step: The aforementioned YouTube videos are created for different skill levels – basic, intermediate, and advanced. Follow these levels accordingly. 
  • Establish a consistent learning schedule: Learning SwiftUI requires focus and regular practice to become proficient. I suggest frequent sessions rather than sporadic intensive study periods, as they are more effective.  

The line between design and development is blurring, especially with the emergence of AI; this process will continue. You can now create a functional app using the basics and tips I have shared in this article.

At first, you might feel overwhelmed by the complexity of real apps, especially regarding user authentication, data management, or animation. However, you can build confidence and competence by breaking down large tasks into smaller steps and applying what you have learned. 

Mastering SwiftUI might be complicated, but it is still possible. 

The Designer’s Toolkit for SwiftUI in 2024 

Here is the final list of the tools that have helped me achieve success as a designer learning SwiftUI: 

If you have your favourite resources for learning SwiftUI, please share them.