John Coombs

Getting Started with SwiftUI: What Designers should know

Today's designers are more technically savvy than ever before, allowing them to take their work beyond the design phase of product development and closer to functional software. The growth of new no-code and low-code tools is further helping to accelerate this trend. In parallel, UI development frameworks such as SwiftUI are becoming more accessible to designers looking to further their designs into production-ready software. These realities are blurring the traditional distinctions between the role of designers and developers.

At Judo, we’re helping to build on this reality by making SwiftUI more approachable for designers and developers alike. We do this by surfacing pure SwiftUI in a visual canvas that is both intuitive to designers and a great way to learn SwiftUI.

That said, there are some important foundations to brush up on as a designer looking to learn the basics of SwiftUI. A good starting point is to familiarize yourself with the basics of Swift, the programming language that is used to create iOS and macOS applications. Swift is a powerful and expressive language, and understanding its syntax and basic concepts will make it easier to understand and work with SwiftUI.

Once you have an understanding of the basics of Swift, you'll be set to start diving into SwiftUI. SwiftUI is Apple's framework for building user interfaces for iOS, macOS, and watchOS. It is designed to be easy to use and understand for designers, and it allows you to create beautiful and responsive user interfaces with very little code.

To get started with SwiftUI, you will need to have Xcode installed on your computer. Xcode is Apple's development environment for creating iOS and macOS applications, and it includes all of the tools and resources you will need to build your app. With Xcode installed, you can start a new project and select the "SwiftUI" template to create a new SwiftUI project.

Once your new project is set up, you can begin designing your user interface using the SwiftUI design tools. These tools allow you to create and arrange views, set up layouts, and add interactions and animations. You can also use the built-in library of SwiftUI components, such as buttons, text fields, and image views, to quickly create common interface elements.

When you are ready to start implementing your design, you can begin by creating a new SwiftUI view. A view is the basic building block of a SwiftUI interface, and it represents a single screen or section of your app. You can create a new view by defining a struct that conforms to the View protocol and implementing the body property.

To translate your design into SwiftUI, you will need to use the tools and components provided by the framework. This includes things like Text, Image, VStack, HStack, Group, List and much more. These components will let you create the layout, look and feel of your design. Understanding how these concepts translate from Figma is quite helpful and can speed up your learning curve.

You can also use the Preview feature in Xcode to see your design in real time as you work on it. This allows you to quickly iterate on your design and make changes as needed.

In addition to the design aspect, you may want to learn about how to handle data and user interactions. SwiftUI is designed to work seamlessly with the Model-View-ViewModel (MVVM) pattern. This pattern allows you to separate the data and business logic of your app from the user interface, making it easier to test and maintain your code.

Having completed your design and implemented it in SwiftUI, you can test your app on a simulator or device and make any necessary adjustments.

In summary, as a designer who is technically savvy and wants to learn SwiftUI, you can start by familiarizing yourself with the basics of Swift, and then dive into SwiftUI. Xcode is the main tool that you'll use to design and build your app. SwiftUI provides a wide range of tools and components that you can use to create beautiful and responsive user interfaces. With practice, patience and a willingness to learn, you'll be creating great apps in no time.

We’re putting together a course geared towards designers to learn the basics of SwiftUI through video and short content tutorials. If you are interested, sign up here to get on the waiting list!