Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/reddavis/redux

A super simple Swift implementation of the redux pattern making use of Swift 5.5's new async await API's.
https://github.com/reddavis/redux

architecture async async-await ios macos redux state-management swift swiftui

Last synced: 3 months ago
JSON representation

A super simple Swift implementation of the redux pattern making use of Swift 5.5's new async await API's.

Awesome Lists containing this project

README

        

# RedUx

**RedUx** is a modern Swift implementation of the redux pattern that takes advantage of Swift's newer asyns/await APIs.

It enables your app to have a centralised state store of which your app's UI can mirror and react to; leading to predictable, debuggable, modular and easy to test apps.

## Requirements

- iOS 15.0+
- macOS 12.0+

## Resources

- [Documentation](https://red-ux.vercel.app)
- [API reference](https://redux-documentation.vercel.app)

## Installation

### Swift Package Manager

In Xcode:

1. Click `Project`.
2. Click `Package Dependencies`.
3. Click `+`.
4. Enter package URL: `https://github.com/reddavis/Redux`.
5. Add `RedUx` to your app target.

## Other libraries

- [Papyrus](https://github.com/reddavis/Papyrus) - Papyrus aims to hit the sweet spot between saving raw API responses to the file system and a fully fledged database like Realm.
- [Asynchrone](https://github.com/reddavis/Asynchrone) - Extensions and additions to AsyncSequence, AsyncStream and AsyncThrowingStream.
- [Validate](https://github.com/reddavis/Validate) - A property wrapper that can validate the property it wraps.
- [Kyu](https://github.com/reddavis/Kyu) - A persistent queue system in Swift.
- [FloatingLabelTextFieldStyle](https://github.com/reddavis/FloatingLabelTextFieldStyle) - A floating label style for SwiftUI's TextField.
- [Panel](https://github.com/reddavis/Panel) - A panel component similar to the iOS Airpod battery panel.