A type-safe, non-verbose replacement for NSNotificationCenter and KVO in Swift.
EmitterKit is a Swift library that provides a modern, type-safe approach to event handling, replacing verbose patterns like NSNotificationCenter and NSObject observers. It simplifies reactive programming by offering clean APIs for events, notifications, and key-value observation while ensuring compile-time type safety.
Swift developers building iOS, macOS, or other Apple platform applications who need a type-safe, less verbose alternative to traditional notification and observation patterns like NSNotificationCenter and KVO.
Developers choose EmitterKit for its compile-time type safety, which prevents runtime errors from type mismatches, and its simplified API that reduces boilerplate code compared to native Swift/Objective-C patterns.
Type-safe event handling for Swift
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Uses generic Event<T> to ensure emitted data matches listener expectations, preventing runtime type errors and enhancing code reliability.
Wraps NSNotificationCenter and KVO with clean, less verbose APIs, reducing boilerplate compared to traditional Swift/Objective-C methods.
Features like once listeners auto-remove after emission, and the isListening property allows easy control without manual retention headaches.
Associates events with specific objects like UIView, enabling contextual handling useful for UI-driven applications without modifying class properties.
Requires manual locking for concurrent operations, as all actions must be on the same thread, complicating multithreaded apps and risking race conditions.
Major updates like v5.0.0 removed classes (e.g., Signal) and renamed others, forcing code migrations and disrupting existing implementations.
Tied exclusively to Swift and Apple platforms, lacking support for cross-platform use or integration with non-Apple reactive frameworks.