SSEventFlow alternatives and similar libraries
Based on the "Events" category.
Alternatively, view SSEventFlow alternatives based on common mentions on social networks and blogs.
-
RxSwift
Microsoft Reactive Extensions (Rx) for Swift and iOS/OSX platform. -
ReactiveCocoa
ReactiveCocoa (RAC) is a Cocoa framework inspired by Functional Reactive Programming. It provides APIs for composing and transforming streams of values over time. -
ReactorKit
A framework for reactive and unidirectional application architecture. -
OpenCombine
Open source implementation of Apple's Combine framework for processing values over time. -
SwiftEventBus
A publish/subscribe event bus optimized for iOS. -
PMKVObserver
Modern thread-safe and type-safe key-value observing. -
Tempura
A holistic approach to iOS development, inspired by Redux and MVVM. -
EmitterKit
an implementation of event emitters and listeners in swift. -
NoticeObserveKit
NoticeObserveKit is type-safe NotificationCenter wrapper that associates notice type with info type. -
RxReduce
Reactive implementation of the state container pattern (like Redux). It is based on the simple concepts of state immutability and unidirectionnal data flow. -
LightweightObservable
A lightweight implementation of an observable sequence that you can subscribe to. -
Notificationz
Helping you own NSNotificationCenter by providing a simple, customizable adapter. -
TopicEventBus
Publish-subscribe design pattern implementation framework, with ability to publish events by topic. -
EasyFutures
🔗Futures & Promises. Easy to use. Highly combinable. -
Causality
A very simple event bus for Swift with fully typed messages. -
Tokamak
React-like declarative API for building native UI components with easy to use one-way data binding.
Scout APM - Leading-edge performance monitoring starting at $39/month
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest. Visit our partner's website for more details.
Do you think we are missing an alternative of SSEventFlow or a related project?
README
SSEventFlow
SSEventFlow is a type safe alternative to NotificationCenter, inspired by Flux.
The Flux Application Architecture was recently invented by Facebook. See video to how it works
Usage
Open the SSEventFlow.xcodeproj
file and run the Example project.
Requirements
- iOS 13.0+ / macOS 10.15+
- Xcode 11.4+
- Swift 5.2+
Installation
SSEventFlow is available through CocoaPods. To install it, simply add the following line to your Podfile:
pod "SSEventFlow"
Example of how to send out notifications
class ParentViewController: UIViewController {
@IBAction func redButtonAction(_ sender: Any) {
PickedColorEvent(color: UIColor.red, name: "RED").fire()
}
@IBAction func greenButtonAction(_ sender: Any) {
PickedColorEvent(color: UIColor.green, name: "GREEN").fire()
}
@IBAction func blueButtonAction(_ sender: Any) {
PickedColorEvent(color: UIColor.blue, name: "BLUE").fire()
}
@IBAction func resetButtonAction(_ sender: Any) {
ResetEvent().fire()
}
}
Example of how to listen for notifications
class ChildViewController: UIViewController {
@IBOutlet weak var colorName: UILabel!
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
flow_start()
}
override func viewDidDisappear(_ animated: Bool) {
flow_stop()
super.viewDidDisappear(animated)
}
}
extension ChildViewController: FlowDispatcher {
func flow_dispatch(_ event: FlowEvent) {
if let e = event as? PickedColorEvent {
view.backgroundColor = e.color
colorName.text = e.name
}
if event is ResetEvent {
view.backgroundColor = nil
colorName.text = ""
}
}
}
Support
You are welcome to use SSEventFlow free of charge.
If you are using and enjoying my work, maybe you could donate me a beer (or if you don’t drink – a coffee and bagel will do just fine, a good kind of bagel though, you know… with wonderful stuff inside to make it glorious).
Please donate via PayPal and just like they say on TV – give generously! It motivates me to keep working on this.
License
MIT
*Note that all licence references and agreements mentioned in the SSEventFlow README section above
are relevant to that project's source code only.