Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/cooler333/swiftea
Swift implementation of the elm architecture (TEA)
https://github.com/cooler333/swiftea
architecture cocoapods elm-architecture ios model-view-intent model-view-update mvi mvi-architecture mvu spm swift swift-package-manager tea the-elm-architecture udf unidirectional-data unidirectional-data-flow
Last synced: 19 days ago
JSON representation
Swift implementation of the elm architecture (TEA)
- Host: GitHub
- URL: https://github.com/cooler333/swiftea
- Owner: cooler333
- License: mit
- Created: 2022-04-27T19:45:47.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2022-06-25T18:33:41.000Z (over 2 years ago)
- Last Synced: 2024-10-13T23:15:45.876Z (about 1 month ago)
- Topics: architecture, cocoapods, elm-architecture, ios, model-view-intent, model-view-update, mvi, mvi-architecture, mvu, spm, swift, swift-package-manager, tea, the-elm-architecture, udf, unidirectional-data, unidirectional-data-flow
- Language: Swift
- Homepage:
- Size: 121 KB
- Stars: 14
- Watchers: 3
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Swiftea
If you were looking for a something like this:
- TEA (The Elm Architecture)
- MVU (Model-View-Update)
- MVI (Model-View-Intent)
- Redux-like
- Flux-like
- UDF (Unidirectional Data Flow)
- e.t.c...but on Swift. Then you have found it!
Swiftea is implementation of TEA/MVU architecture pattern using Swift.
## Features
- Cancellable side effects (cancel outdated network requests)
- Do not use 3rd party libraries
- use Combine
- 100% business logic code coverage
- Lightweight: 2 structs, 1 enum, 2 final classes; less than 200 lines of code#### We're open to merge requests
## Examples
- [Infinite Scroll](https://github.com/cooler333/Swiftea/tree/main/Examples/InfiniteScroll)
#### Other
- [Cocoapods integration](https://github.com/cooler333/Swiftea/tree/main/Examples/PodExample)
- [Swift Package Manager integration](https://github.com/cooler333/Swiftea/tree/main/Examples/SPMExample)## Requirements
- iOS: 13.0
- Swift: 5.5## Installation (Cocoapods / SPM)
Swiftea is available through [CocoaPods](https://cocoapods.org). To install
it, simply add the following line to your Podfile:```ruby
pod 'Swiftea'
```Also you can integrate framework as SPM package
## Alternatives
- [Mobius.swift](https://github.com/spotify/Mobius.swift)
- [ReSwift](https://github.com/ReSwift/ReSwift)
- [ReCombine](https://github.com/ReCombine/ReCombine)
- [Swift Composable Architecture](https://github.com/pointfreeco/swift-composable-architecture)
- [Tea In Swift](https://github.com/chriseidhof/tea-in-swift)
- [SwiftRex](https://github.com/SwiftRex/SwiftRex)
- [More](https://github.com/onmyway133/awesome-ios-architecture#unidirectional-data-flow)## Author
Dmitrii Coolerov, [email protected]
## License
Swiftea is available under the MIT license. See the LICENSE file for more info.