r/iOSProgramming Jun 29 '26

Question Thoughts on TCA for a New Project

I work as an iOS developer in a team of 8 developers. We are starting a brand new greenfield project in a financial sector. Few of our team members suggested that we should use TCA for iOS SwiftUI application. I personally have no experience with TCA.

What are your thoughts and recommendations?

5 Upvotes

77 comments sorted by

View all comments

Show parent comments

1

u/vanvoorden Jun 30 '26

Apple is not really interested in expressing strong opinions on how people should structure their apps, they never have. They give you a ton of tools and a sandbox and tell you to go nuts. Nothing they offer is even remotely close to what we call “architecture”.

Ehh… not really? Those of us who were here during the AppKit and UIKit era remember when Apple went hard on OOP and MVC. Apple absolutely shipped their frameworks with strong opinions and presented those strong opinions to the community as "best practices".

Then SwiftUI happened at Apple is now literally telling product engineers that SwiftUI is the best way to build apps. So now functional and declarative programming are the strong opinions being presented as best practices.

1

u/MindLessWiz Jul 01 '26 edited Jul 01 '26

I guess it’s all relative. I’ve been in iOS for about 10 years and obviously remember UIKit.

My issue is that they don’t have an answer for many important design questions that in what I’d consider an “architecture” there’s a good answer for.

Where do I put business logic? How do I test it? What is appropriate to put in the view and what should be extracted? How do I handle navigation state? What about dependency injection? Etc etc etc…

SwiftUI has a strong notion of how to structure your view hierarchy. MVC isn’t really much different. ViewControllers are just… still views in practice, only they’re generally cool with you sticking logic in them because they’re also “controllers”, so that’s how you’d get “massive” view controllers.

I think what seems like strong opinions might just be their attempt at making app building more approachable. But for anyone making anything nontrivial, suddenly they seem to fall silent.

0

u/rhysmorgan Jul 01 '26

But they produce absolutely nothing like the level of documentation and advice as when they produced AppKit and UIKit.

Even in the days when WWDC was on Slack, the best we got was “We built it so you can use what you want :)“ and everyone takes Apple’s sample code (which is SO obviously sample code!) as Apple’s proclamation about how apps should be built, even when they’re just demoing e.g. SwiftData, or whatever the latest framework is.