Welcome to The SwiftUI Lab

If you are trying to write a SwiftUI application, you are probably both excited and frustrated at the same time.

The first one is obvious, SwiftUI looks great and seems a real time-saver for developers. It all looks so easy! Every WWDC speaker tells you how you can concentrate on your app. Let the framework work the details of your UI. That is most certainly appealing.

On the other hand, once you sit down to get your hands dirty, you realise that part of it is true, but… there’s always a but.

Yes, writing a standard application became much easier, but the reality is, none of our apps are standard. They are all unique in their own way. For a while, I contemplated the idea of waiting a year, and let Apple expand the framework. I though SwiftUI as is, was not worth my time.

Luckily, I stayed a little longer. I discovered there are many features that are not even mentioned, but are very useful in achieving our UI goals.

When researching SwiftUI, I found that there were lots of sites and blogs that tell you how to do common things in SwiftUI. However, most of them just repeat what is already in the documentation or the WWDC. I will do my best to try to fill the void left by the documentation.

In this blog, I am not going to show you how you can setup an Xcode project from scratch, or how you can create a text in largeTitle size. There are plenty of sources of information for that. And your first point of reference, should probably be apple.com itself. This year, they even put together some very nice SwiftUI Tutorials that I recommend you check-out. However, if you are here, you probably already exhausted those avenues.

The idea of this website, is to experiment with SwiftUI. I’ll post articles that focus on features that are either undocumented, or if they are documented, they are unintuitive or unclear.

Welcome to the site!

By continuing to use the site, you agree to the use of cookies. more information

The cookie settings on this website are set to "allow cookies" to give you the best browsing experience possible. If you continue to use this website without changing your cookie settings or you click "Accept" below then you are consenting to this.

Close