Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/radianttap/Coordinator
Implementation of Coordinators app design pattern.
https://github.com/radianttap/Coordinator
architecture design-patterns ios-lib swift
Last synced: 6 days ago
JSON representation
Implementation of Coordinators app design pattern.
- Host: GitHub
- URL: https://github.com/radianttap/Coordinator
- Owner: radianttap
- License: mit
- Created: 2016-11-23T13:07:37.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2024-03-07T08:23:21.000Z (8 months ago)
- Last Synced: 2024-10-03T16:17:40.044Z (about 1 month ago)
- Topics: architecture, design-patterns, ios-lib, swift
- Language: Swift
- Size: 12.1 MB
- Stars: 723
- Watchers: 24
- Forks: 44
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[![](https://img.shields.io/github/tag/radianttap/Coordinator.svg?label=current)](https://github.com/radianttap/Coordinator/releases)
[![](https://img.shields.io/github/license/radianttap/Coordinator.svg)](https://github.com/radianttap/Coordinator/blob/master/LICENSE)
![](https://img.shields.io/badge/swift-6.0-223344.svg?logo=swift&labelColor=FA7343&logoColor=white)
\
![platforms: iOS|tvOS|watchOS|macOS|visionOS](https://img.shields.io/badge/platform-iOS_15_·_tvOS_15_·_visionOS_1-blue.svg)# Coordinator
Implementation of _Coordinator_ design pattern. It is *the* application architecture pattern for iOS, carefully designed to fit into UIKit; so much it could easily become `UICoordinator`.
Since this is *core architectural pattern*, it’s not possible to explain its usage with one or two clever lines of code. Give it a day or two; analyze and play around. I’m pretty sure you’ll find it worthy of your time and future projects.
## Installation
- version 8.x is using Swift 6 language mode and has strict concurrency turned ON
- version 7.x and up is made with Swift 5.5 concurrency in mind (async / await)
- versions before that (6.x) use closuresJust drag `Coordinator` folder into your project — it‘s only a handful of files.
Or add add this repo’s URL through Swift Package Manager.
## Documentation
The _why_ and _how_ and...
- the [Pattern](documentation/Pattern.md)
- the [Library](documentation/Library.md)
- the [Class](documentation/Class.md)
- recommended [Implementation](documentation/Implement.md)## License
[MIT](https://choosealicense.com/licenses/mit/), as usual.
## Give back
If you found this code useful, please consider [buying me a coffee](https://www.buymeacoffee.com/radianttap) or two. ☕️😋