ReactiveSwift implementation

I have already shared this on twitter, but I forgot to share it here. I've made a ReactiveSwift version of TCA here: https://github.com/trading-point/reactiveswift-composable-architecture

Me and my team at XM.com (aka Trading Point) are building a new app from the ground app using this ReactiveSwift version. Our app needs to support iOS 12 (at least), so we can't use Combine.

In this implementation the Effect type is merely a typealias for the SignalProducer type.

The implementation is fully complete, with full support for UIKit and SwiftUI, including ViewStore. Also, all the examples have been converted and are fully functioning.

I'm aiming to keep this version closely in sync with the Pointfree version as changes are made upstream.

If anyone has any tips on keeping the repo in sync I'd be grateful. I have the Pointfree repo configured as a remote (upstream). I started by creating a branch and doing git merge upstream/master, but that won't work for long as I constantly have to keep fixing conflicts I've already fixed.

My current approach is to just cherry pick commits from upstream, which seems to be a lot easier and avoids most merge conflicts.

6 Likes