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.
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 @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?
Managed to resolve this by changing the minimumVersion of the swift-composable-architecture package (opened up the project.pbxproj in an editor, I am old school - this can be also done from the Package Dependencies tab). Afterwards I ran into some compiler errors due to the JSONDecoder and DispatchQueue, these were fixed by importing Foundation and Dispatch accordingly. I am not saying that this is the right way, but it did the work for me.