Learning SwiftUI

In reference to...

Why SwiftUI?

I’m really excited about something new that I’ve been learning and wanted to share a quick update about what it is, and if you’re interested, how you too can learn and practice. That thing is SwiftUI! SwiftUI’s something I’ve decided to pour a bit, actually, a bunch of energy into lately and I’ve been having so much fun with the new challenge. Both the excitement of this year’s WWDC and also seeing the recreated interfaces that Jordan Singer has been able to make and share gave me the boost I think I needed to finally dive in.

There are many correct answers to question “should designers code”, but one thing I think we can all on agree is that it likely won’t hurt to know a bit more about the platform for which you’re designing. I’ve come to the realization that I don’t have the desire to become a full-time developer but I do have a drive to learn more about what it takes to make designs I work on come to life. What does it really take to go from pixels in Figma to code in SwiftUI? How do you create that animation? Is it difficult or relatively easy? What affordances does SwiftUI provide that I might be able to take advantage of more within the designs I create? Could using those affordances help speed up development time? These, among many, many others, were all questions I want to try to learn a little more about!

Getting Started

As with almost anything, getting started truly is one of the most difficult steps. Having never before used Xcode, I found its interface to be a bit overwhelming and I wasn’t sure what I needed to pay attention to and what I could ignore. I think Apple recognized this feeling among those who were setting out to learn SwiftUI, and thus created Swift Playgrounds, a Catalyst App, available on both iPadOS and macOS. Swift Playgrounds makes it incredibly easy to open the app and start typing code, and even includes the ability to view the result or output of that code next to where you’re typing. Its simple interface eliminates everything I found to be scary in Xcode and allowed me to just... start!

Resources

If you’re curious to learn and to try SwiftUI out for yourself, there are a few resources I’m using and would recommend for you to try out, too.

Recreate

Recreate is a video series, created by Jordan Singer, who I mentioned earlier, where common interfaces such as Instagram, Tinder, Messages, and more are recreated using SwiftUI. I’ve found this series so helpful because there’s always a video to practice along with, a link to the complete code on Github, and because they’re examples that we’re familiar with that have patterns often used in design work. Really, I can’t recommend it enough.

Hacking with SwiftUI

Hacking with SwiftUI is an amazing resource for leaning both the basics and the really advanced stuff that’s within SwiftUI. Paul Hudson does an amazing job keeping things light and gets right to the point for what you need to know, and also, shares what you likely can pay a bit less attention to. I started out with 100 Days of Swift which I’ve really enjoyed so far. I’m only on day 15, but can say that Paul does such an excellent job at introducing concepts, providing examples, quizzes (these are super helpful!), and always shares how the concept he’s teaching ties into the larger picture of SwiftUI.

Little Bits I’ve Made