The SwiftUI Series

A series of articles on SwiftUI application development

SwiftUI was introduced just one year ago at WWDC 19 and launched with iOS 13. In that short period of time SwiftUI has generated a ton of interest, a bit of controversy, and a lot of articles. Including my own.

I’ve written rather extensively on SwiftUI, on SwiftUI application architectures, and on issues and hidden gotchas that have developed from creating applications using SwiftUI.

This a handy reference guide to them all.

Note that articles marked with an asterisk (*) are recommended reading.

I also consider Deep Inside Views, State and Performance in SwiftUI to be required reading if you’re serious about SwiftUI application development.

Introducing SwiftUI

SwiftUI is a new way of thinking about mobile application development, so here are a couple of articles introducing those concepts.

SwiftUI: Understanding Declarative Programming

Confused by declarative programming? Don’t worry, its not that hard to understand.

Best Practices in SwiftUI Composition *

Some thoughts on SwiftUI view composition, code readability and application performance.

SwiftUI Application Architecture

SwiftUI is not UIKit, nor is it a traditional imperative application development. Again, it requires a new way of thinking about applications as well as a new approach to structuring them.

Deep Inside Views, State and Performance in SwiftUI ** — NEW

Or why almost none of those words mean what you think they mean.

SwiftUI Microservices *

A modern, lightweight approach to application architecture in SwiftUI.

View Composition In SwiftUI

Or how to avoid MVB (Massive-View-Bodies) in one easy lesson.

Styling SwiftUI * — NEW

Or how to code with style in three easy lessons.

SwiftUI: Deep Inside NavigationView

Or answering the real question: Why is that navigationBarTitle modifier in the wrong place?

Writing Testable Views in SwiftUI *

View decomposition is a wonderful thing, but we need to be smart about how we do it.

SwiftUI Issues

As with any new technology, not everything is sweetness and light. There are bound to be problems and this set of articles discuses them in some detail.

Did SwiftUI Just Kill Protocol-Oriented Programming? * — NEW

SwiftUI’s state management is amazing… but it comes with a steep price.

SwiftUI and How NOT to Initialize Bindable Objects *

Or just one of those times when init() is not your friend.

SwiftUI and the Missing Environment Object *

Using ViewModifiers to fix another major issue in SwiftUI development.

SwiftUI Evangelism

There’s no better word, really. And as such it may come as no surprise that I think SwiftUI is a game-changer.

So here are several articles that dive solely into that aspect of SwiftUI. The first two were written after the introduction of SwiftUI at WWDC19 and the third shortly after WWDC20.

Are You an iOS Ex-Expert?

How Apple announced SwiftUI and took professional developers from Hero-to-Zero in a single keynote session.

SwiftUI and the UIStackView Problem

Or how Apple is making a major mistake with SwiftUI.

Apple: The King is Dead. Long Live the King! — NEW

And no, I’m not talking about Intel and Apple Silicon. Here’s a brief discussion on the role SwiftUI seems to be taking at Apple as of WWDC20.

Completion Block

That’s it for now, but rest assured that quite a few more SwiftUI articles are in the pipeline. If you like what you’ve read you might want to bookmark this page and check it again from time to time.

And don’t forget to Follow Me to get notified when more appear.

Finally, if there’s something about SwiftUI you find confusing (or cool) and think I should cover it in an article then leave a comment below.

Thanks for reading!

Michael Long is a Senior Lead iOS engineer at CRi Solutions, a leader in cutting edge iOS, Android, and mobile corporate and financial applications.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store