Hacker News new | ask | show | jobs
by danielhooper 3500 days ago
I recently worked on an app that adopted a similar framework (ReSwift) and I hated it for the same reasons you are skeptical. It was needlessly complex, horrible to try and debug, and was incompatible with the "status-quo" of standard app development practices.

At the end of the day it was just a bad replacement for Core Data / Realm / whatever.

I wish I could tell you more but like yourself I really had absolutely no idea what the point was or what it was supposed to make easier.

3 comments

I too considered ReSwift for my last iOS project, felt it would be an overkill, so didn't use it eventually (I've worked with React/Redux). Though I inculcated a Redux like approach into the App directly and it seems to be working really well! Keeps data clean. I would recommend front end devs to check out the Redux pattern: how it manages "app state" and "user actions".
I've been working on an app that's more or less using ReSwift (I've hacked on it a bit). Can you elaborate on what you ran into that was complex/horrible?
I couldn't fix a lot of UI problems because when trying to trace what was happening through this system of actions and states I could only find when these bugs occurred when stepping between lines of machine code.

I can't offer a fair point of view because I don't think the project I was working on made proper use of ReSwift. It was very difficult to follow the flow of data and understand why certain things wouldn't work.

What you're describing doesn't really make any sense... the whole point of these frameworks is to make your application more predictable. If your layout isn't right for a particular state, you can rewind back to that exact state again and again. It sounds like you were using ReSwift wrong, to be honest. There's not a lot of magic going on in it that would make it hard to debug.
RxSwift are super callback objects. I don't know why you would compare it with storage libraries.
ReSwift is a unidirectional data flow library that brings Redux-like behavior to Swift. RxSwift is not the same thing. :)