Route Composer

screenshot of Route Composer

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.

Overview

RouteComposer is a powerful library designed to enhance navigation processes in iOS applications by providing a protocol-oriented approach to view controller composition, navigation, and deep linking. By simplifying the way developers manage navigation, this library serves as an effective replacement for the traditional Coordinator pattern, allowing for cleaner, more organized code.

With RouteComposer, developers are empowered to break down navigation into manageable, logical steps, enabling them to maintain a clear structure while facilitating comprehensive deep-linking capabilities. This makes it an invaluable tool for modern iOS development, especially when building complex user interfaces and navigation flows.

Features

  • Protocol Oriented Architecture: Leverages protocols to define navigation responsibilities for a clean and manageable code structure.
  • Declarative Navigation Configuration: Streamlines navigation setup, allowing developers to specify navigation flows in a clear and concise manner.
  • Deep-link Support: Automatically makes every UIViewController deep-linkable, enhancing user experience by enabling direct access to specific content.
  • Flexible Composition: Facilitates diverse composition techniques of UIViewControllers based on the app's state, granting developers versatility in UI design.
  • Reduces Boilerplate Code: Eliminates the need for excessive navigation code within UIViewControllers, promoting a separation of concerns.
  • Work with Any Navigation Mechanism: Can be implemented alongside existing navigation solutions, ensuring compatibility with both built-in and custom navigation mechanisms.
  • A/B Testing Compatibility: Simplifies the implementation of user-facing A/B tests, allowing for experimentation with different navigation and layout patterns.
  • Easily Installable: Available through CocoaPods and Swift Package Manager for straightforward integration into any project.