ReSwift 1.0.0: Unidirectional Data Flow in Swift
github.com
github.com
It's a nice take on unidirectional data flow as it applies to the Swift type system.
It brings a lot of clarity to the design. If I want to know the state involved in a view it's all explicitly stated in one place. If I want to know where state is manipulated, that's in the reducer.
I would recommend trying to build an app using a DIY store following the principles first to get a really good feel for how it fits in. Moving from DIY -> ReduxKit -> ReSwift has been really easy.
We're still early on, so there are many different implementation patterns that might evolve around the core library but in my experience and that of other devs I've talked to it is already a pretty good step forward from an MVC approach.
How do you handle async items, like service calls? Do you perform them in your reducers or elsewhere?
How do you represent persistence if you want to say, store something in NSUserDefaults. What abstraction would you use around something like that?