A Swift task state manager built on UserDefaults for tracking done/to-do tasks with time scopes.
Ecno is a task state manager for iOS applications built on top of UserDefaults in pure Swift. It allows developers to mark tasks as done or to-do and check their status within configurable time scopes, solving the problem of managing one-time or periodic actions like showing tutorials or triggering user-specific events.
iOS developers building apps that require controlled execution of tasks such as tutorials, banners, or periodic features, especially those using Swift and needing a lightweight, dependency-free solution.
Developers choose Ecno for its simplicity, native Swift implementation, and seamless integration with UserDefaults, providing an easy way to manage task states without complex setup or external dependencies.
Ecno is a task state manager built on top of UserDefaults in pure Swift 4.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Built entirely in Swift without external dependencies, ensuring seamless integration and full compatibility with modern iOS development, as highlighted in the README's philosophy.
Offers clean functions like markDone and beenDone with straightforward parameters, making it easy to implement task logic without boilerplate, as shown in the usage examples.
Supports configurable periods such as app install, version, session, and custom intervals, allowing precise control over task validity, detailed in the Scope section.
Relies solely on UserDefaults for persistence, keeping the library minimal and reducing app bloat, emphasized in the introduction as a pure Swift solution.
UserDefaults is not designed for high-volume data, so Ecno may struggle with performance when tracking many tasks or frequent state changes, a trade-off admitted in the lightweight approach.
Lacks support for cloud sync or multi-device state management, limiting it to single-device, offline-first use cases without additional custom code.
The API assumes smooth operations with no mention of error handling for edge cases like duplicate task marking or scope conflicts, which could lead to bugs in complex scenarios.