A protocol-oriented iOS library for declarative view controller composition, navigation, and deep linking, replacing the Coordinator pattern.
RouteComposer is a protocol-oriented Swift library for iOS that handles view controller composition, navigation, and deep linking through declarative configurations. It solves the problem of tangled navigation code by separating routing logic from view controllers, enabling flexible and reusable navigation flows. It can replace the Coordinator pattern and works alongside UIKit and SwiftUI.
iOS developers building complex navigation flows, deep linking, or A/B testing scenarios, especially those using UIKit and seeking to decouple navigation logic from view controllers.
Developers choose RouteComposer for its declarative configuration, deep linking out-of-the-box, and ability to replace Coordinator patterns with a more modular, protocol-oriented approach that reduces boilerplate and improves testability.
Protocol oriented, Cocoa UI abstractions based library that helps to handle view controllers composition, navigation and deep linking tasks in the iOS application. Can be used as the universal replacement for the Coordinator pattern.
Enables defining navigation steps with a fluent API, cleanly separating routing logic from view controllers, as shown in the Configuration.productScreen example in the README.
Makes every view controller deep-linkable by default, simplifying universal link handling without extra code, highlighted in the deep-linking section of the README.
Reduces boilerplate associated with the Coordinator pattern by providing a modular, protocol-oriented alternative, evidenced by testimonials from companies like Viz.ai in the README.
Supports routing interceptors for tasks like authentication checks and post-routing analytics, allowing seamless integration of business logic into navigation, as described in the interceptor examples.
Requires implementing multiple protocols (Factory, Finder, Action, etc.) for each view controller, leading to a steeper initial setup compared to simpler solutions, as seen in the implementation examples.
While compatible with SwiftUI, the library is fundamentally built around UIKit abstractions, which might not align well with pure SwiftUI projects and adds complexity for SwiftUI-only teams.
Has a smaller ecosystem and community support compared to more established navigation libraries, which could impact long-term maintenance, third-party resources, and troubleshooting.
URL routing library for iOS with a simple block-based API
A splendid route-matching, block-based way to handle your deep links.
⛵️ Elegant URL Routing for Swift
RxFlow is a navigation framework for iOS applications based on a Reactive Flow Coordinator pattern
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.