Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/mijick/timer

Timers Made Simple. The Ultimate Swift Framework with advanced timer management, state control and reactive programming support.
https://github.com/mijick/timer

combine ios ios-sdk ios-swift macos spm swift swift-6 swift-package swift-package-manager swift5 swift6 swiftlibrary swiftui swiftui-framework timer uikit visionos visionos-timer

Last synced: 5 days ago
JSON representation

Timers Made Simple. The Ultimate Swift Framework with advanced timer management, state control and reactive programming support.

Awesome Lists containing this project

README

        



MijickTimer Hero


Timers made simple


Easy to use yet powerful Timer library. Keep your code clean.


Try demo we prepared
|
Framework documentation
|
Roadmap



Labels




Multiple Timers
State Control





Timer Examples


Timer Examples








Join us on Discord



Follow us on LinkedIn



See our other frameworks



Read us on Medium



Buy us a coffee

# ✨ Features







Countdown Timer (Down-Going)




⏱️


Count-Up Timer (Elapsed Time)




⏸️


Pause Timer




▶️


Resume Timer




⏭️


Skip Timer




⏮️


Cancel Timer







Reactive programming friendly



# ☀️ What is MijickTimer?
MijickTimer library is Swift-based library that offers powerful and flexible timer features for iOS and macOS and visionOS apps. It allows to create both countdown and count-up timers with enhanced state management and observation options.


Count-Up Timer


Track elapsed time seamlessly with a count-up timer. Ideal for productivity, logging or workout apps.


Take a look at the implementation details here.

A demonstration of the code used to compare the implementation of the native iOS timer framework with the custom MijickTimer.


Countdown Timer


Easily create countdown timers to track remaining time. Perfect for games, events or task apps.


Take a look at the implementation details here.

An illustration of how to create a countdown timer using only a few lines of code with the MijickTimer library.


Control Timer state


Pause timers and resume them later without losing progress. It also allows to skip and cancel the progress.


Take a look at the implementation details here.


Demonstrates code for controlling the Timer state via the MijickTimer library: stop, pause, resume, skip, and cancel or stop the Timer.

Observe Timer State



Monitor timer state with a variety of different approaches: binding, callbacks, combine, state value updates.


Take a look at the implementation details here.

The code illustrates various methods for monitoring the current timer state, including binding, callbacks, combining, and state observation

# ✅ Why MijickTimer?

Multiple Apple Platform Support:

* iPhone, iPad. Requires iOS 13.0+ .
* Mac. Requires macOS 10.15+.
* Apple Vision Pro. Requires visionOS 1.0+.

Built for Swift 6:



* Modern, efficient, and designed for performance.

All-in-One Timer Solution:



* Handles countdowns, count-ups, pausing, resuming and state management seamlessly.

Versatile Observation:



* Choose callbacks, bindings or Combine for the implementation that works best for you.
* Provides the ability to access the state of a specific timer from any part of the code base.

It's just a cool library 😎

# 🚀 How to use it?
Visit the framework's [documentation](https://link.mijick.com/timer-wiki) to learn how to integrate your project with **MijickTimer**.

See for yourself how does it work by cloning [project](https://link.mijick.com/timer-demo) we created

# 🍀 Community
Join the welcoming community of developers on [Discord](https://link.mijick.com/discord).

# 🌼 Contribute
To contribute a feature or idea to **MijickTimer**, create an [issue](https://github.com/Mijick/Timer/issues/new?assignees=FulcrumOne&labels=state%3A+inactive%2C+type%3A+feature&projects=&template=🚀-feature-request.md&title=%5BFREQ%5D) explaining your idea or bring it up on [Discord](https://discord.com/invite/dT5V7nm5SC).

If you find a bug, please create an [issue](https://github.com/Mijick/Timer/issues/new?assignees=FulcrumOne%2C+jay-jay-lama&labels=state%3A+inactive%2C+type%3A+bug&projects=&template=🦟-bug-report.md&title=%5BBUG%5D).

If you would like to contribute, please refer to the [Contribution Guidelines](https://link.mijick.com/contribution-guidelines).

# 💜 Sponsor our work
Support our work by [becoming a backer](https://link.mijick.com/buymeacoffee).