Highway
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!
Highway is implementation of Redux-like architecture pattern using Swift.
Features
- Do not use 3rd party libraries
- 100% business logic code coverage
- Lightweight
- Multiple stores can share and mutate the same state to sync app state
We’re open to merge requests
Examples
- Counter: Lighweight multi store app (Single view controller with multiple child view controller)
- Infinite Scroll: Enterprise solution app (with Dependency Injection, Flow Coordinator e.t.c.)
preview_low.mov
Other
Requirements
- iOS: 13.0
- Swift: 5.5
Installation (Cocoapods / SPM)
Highway is available through CocoaPods. To install it, simply add the following line to your Podfile:
pod 'Highway'
Also you can integrate framework as SPM package
Alternatives
Author
Dmitrii Cooler, [email protected]
Credits and thanks
The following people gave feedback on the library at its early stages and helped make the library what it is today:
Special thanks to:
- Aleksey Alekseev who helped me to imporve library peformance
- Dmitii Bobrov with major feedback on early concepts
License
Highway is available under the MIT license. See the LICENSE file for more info.