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:

License

Highway is available under the MIT license. See the LICENSE file for more info.

GitHub

View Github