Skip to content

SwiftUI — A distant adventure?

Published on
Categories
iOS,SwiftUI,Apple

Hello, scholars and diplomats! I’ll explain that greeting in another post. Today I’ll share what I’ve seen and heard about SwiftUI, some experiments, and the courses I’ve been taking.

Last year, Apple released SwiftUI, the framework we’re discussing today. It marked a significant change from designing screens by dragging and dropping in Storyboards and XIBs to building them in code. Flutter has a similar widget-based structure and uses state to manage data, much as SwiftUI uses observable objects and state. I’ll leave some links for learning more about both.

With that very brief introduction out of the way, let’s see whether SwiftUI really is such a distant adventure.

At the end of last year, I subscribed to Meng To’s courses. There are three SwiftUI courses, starting with Hello World and going all the way to publishing on the App Store. They gave me an excellent overview and enough confidence to experiment on my own. Still, I missed some foundations and everyday development problems: why is the SwiftUI navigation bar so challenging? How do we move from TableView and CollectionView to VStacks and HStacks? Why doesn’t Xcode always make it clear whether an error comes from a missing parameter or a misspelled name? Those lessons come with time and hands-on practice.

Another important recommendation, perhaps the one I should have started with, is Paul Hudson’s 100 Days of SwiftUI. It helped me understand many things I hadn’t fully grasped in Meng To’s course.

Alfian’s site also has interesting projects, videos, and GitHub repositories if you want to explore the code. It’s well worth a look.

I wanted to go deeper, so I started another course, since I can’t apply this knowledge at work every day. It’s very hands-on: something like SwiftUI 2.0! Next week I hope to share more about what I’ve been learning.

If, like me, you work on a huge application where raising the minimum iOS version is difficult, using SwiftUI in production may still feel far away. At the time of writing, it requires iOS 13 or later, macOS Catalina, and Xcode 11 to run and use Preview, something Apple should have introduced long ago. Many developers want to experiment and use SwiftUI in their daily work, but it still feels early to call it a standard part of development.

That’s it for this week. Next week I’ll bring more code and my impressions of the Udemy course. Below are a few regularly updated resources about SwiftUI.

John Sundell

Antoine Lee

RayWenderlich, which also has interesting bootcamps on a range of topics.

See you next week!