Summary
In this chapter, I have tried to gently nudge you toward the most practical tools used to allow you to properly partition complex apps in a SwiftUI context, without using any of the terrible “architectural frameworks” that are unfortunately so common in the industry. Bear in mind that architecture needs to be adopted and understood by humans and, as such, is not about making optimal engineering choices; it needs to be balanced with the culture of the development team.
This treatment is not by any means complete, as we concentrated on the most practical approaches, avoiding “pre-cooked” approaches that might be useful in other contexts, such as Android and .NET, but are, in this author’s view, less natural, less elegant, and less powerful in the context of Apple application programming using SwiftUI.
This is the end of our practical take on architecture. In the next chapter, we will take a more theoretical view: we will start by talking...