Hacker News new | ask | show | jobs
by jamil7 1620 days ago
> Isn't TCA a dependency framework?

It is but it's quite straightforward to build your own simpler version using only Combine - that's what we're doing at the moment and it tends to work very well, interacting with Core Data has been kind of clunky though.

> I am looking forward to SwiftUI. I really hope that the documentation improves, though.

I've been on a project using it for the last 8 months both for macOS and iOS, I would honestly not rush into using it anytime soon. It's improved significantly since release, especially if you can target the newest iOS but requiring that is a hard-sell for most. On the Mac it's a different story and is much more neglected, macOS versions also tend to have far longer tails than iOS so it's a non-starter to try and sell a Monterey-only Mac app.

Edit: rereading my comment it sounds like I'm really down on SwiftUI - which I'm not, I think it's great when it works but there's a lot of rough edges at the moment and also quite a lot of hype.

1 comments

If you are using TCA only for dependency management, I’d suggest to reconsider and put all business logic in it. In my experience, most serious efforts of wrangling SwiftUI into a complex app wind up with a solution that’s similar to TCA.
Ah! We're putting all our business logic in it, I guess I misunderstood what OP was asking and assumed they meant something else, that's why I mentioned we built our own version of it internally.
Nah. I meant that it is a library, that needs to be included as a dependency.

That's a nonstarter, for me. I'm pretty picky about dependencies. If I use external ones, I like them to be something that can be encapsulated/injected, as opposed to being totally interwoven.

But I'm not trying to make money, I just want to write really good apps.

I share your sentiment, and try to avoid dependencies like the pest. But, I wouldn't write my own crypto library, and TCA falls into a similar category - it's a really good solution for a hard problem. Those guys invest a big part of their time into just those few hundred lines of code. There's word that even Apple uses their stuff internally.
I understand, but I have been burned -badly- by relying on critical path dependencies that failed to stay up to date.

Even if only by a week or two, it can be enough to wreak havoc (but my experience is that they are often many months behind).

Like I said, though. I am not competing with anyone, or trying to make money. I write software for free, for those that can’t afford it. I pursue the vocation as a craft, and deliver Quality that would be totally unacceptable in a commercial endeavor (by which, I mean, high quality. Most commercial efforts go for “good enough” quality).

Most folks here would not find working the way I do, to be very satisfactory.