Getting Started With The Composable Architecture |

Learn how to structure your iOS app with understandable and predictable state changes using Point-Free’s The Composable Architecture (TCA) framework.

This is a companion discussion topic for the original entry at

Great article that hits most of the key features of The Composable Architecture. I am a little bit unsure of SystemEnvironment because its use cuts across modules. It mitigates coupling by using an unconstrained generic to model the sub-environment. However, if you want to put each feature in its own module, I guess you would need to put SystemEnvironment into its own module as well. I wonder if you did something similar to a pullback, you could avoid this. To me, the duplication seems like it might actually be worth it.

Thanks for the article; I learned a lot!

Great stuff! I feel TCA is actually a Redux pattern framework, which gives the easy way for people to leverage this pattern in SwiftUI.

A bit baffled: it seems that the downloadable materials already have all of the steps of the tutorial completed, which make it less useful as a learning tool. Am I missing something?

Hi Sean!

Hope am not too late in replying

I think you used the final version which is there for if you wanted to revise something or fix something

you should use the starter if you wanna code-along, or the final if you just wanna jump into the final version and grab something quickly

Have a great day!

Hi @dpiper,
Thanks for the great Article, really cut thru all the needed stuff to learn TCA

I wanted to ask specifically at something, JSONDecoder

May I know why do we need to explicitly specify JSONDecoder when just using the default or maybe a customized implementation that can be just initiated on need?