Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. iOS
  3. JLRoutes

JLRoutes

BSD-3-ClauseObjective-C2.1.1

A simple block-based URL routing library for iOS and macOS applications.

GitHubGitHub
5.7k stars690 forks0 contributors

What is JLRoutes?

JLRoutes is a URL routing library for iOS and macOS applications that simplifies handling complex URL schemes through a block-based API. It allows developers to map URLs to specific handler blocks, making it easy to implement deep linking, inter-app communication, and organized navigation patterns. The library automatically extracts URL parameters and supports advanced features like wildcards and optional route segments.

Target Audience

iOS and macOS developers building applications that require deep linking, custom URL scheme handling, or modular navigation architecture.

Value Proposition

Developers choose JLRoutes for its minimal code approach, flexible block-based API, and comprehensive feature set that includes scheme namespacing, parameter parsing, and wildcard support—all without the overhead of larger routing frameworks.

Overview

URL routing library for iOS with a simple block-based API

Use Cases

Best For

  • Implementing deep linking in iOS apps with custom URL schemes
  • Handling inter-app communication via URL routing
  • Organizing navigation logic in modular iOS applications
  • Creating debug UIs that display all registered routes
  • Managing complex URL patterns with wildcards and optional parameters
  • Building apps that require separate routing for different URL schemes

Not Ideal For

  • Apps built exclusively with SwiftUI that prefer declarative routing integrated with the framework
  • Projects requiring cross-platform URL routing across iOS, Android, and web
  • Teams wanting automatic view controller presentation or navigation stack management without extra code
  • Applications needing extensive middleware, plugin ecosystems, or built-in state management

Pros & Cons

Pros

Simple Block-Based API

Uses intuitive handler blocks for route registration, minimizing code complexity as shown in the basic example with '/user/view/:userID'.

Flexible Scheme Namespacing

Organizes routes into separate URL schemes for modular routing, allowing per-scheme handlers and fallback options, detailed in the schemes section.

Automatic Parameter Extraction

Parses URL path components and query parameters into a dictionary automatically, reducing boilerplate for handling inputs like 'userID' or query strings.

Advanced Pattern Matching

Supports wildcards and optional route segments for complex URLs, enabling routes like '/wildcard/*' and '/the(/foo/:a)', as demonstrated in the README.

Cons

No Built-in Navigation Helpers

Does not handle UI navigation automatically; developers must implement view controller presentation or stack changes separately in handler blocks, adding overhead.

Objective-C Legacy Focus

Primarily designed for Objective-C, and while Swift-compatible, it lacks native support for Swift features like enums or type-safe routing, which newer libraries offer.

Manual Setup Required

Requires configuring URL schemes in Info.plist and app delegate methods, adding initial complexity compared to more integrated solutions.

Frequently Asked Questions

Quick Stats

Stars5,715
Forks690
Contributors0
Open Issues11
Last commit3 years ago
CreatedSince 2013

Tags

#ios#ios-lib#objective-c#cocoapods#url-routing#carthage#macos#routing-engine#routing#deep-linking

Built With

O
Objective-C

Included in

iOS51.7k
Auto-fetched 1 day ago

Related Projects

DeepLinkKitDeepLinkKit

A splendid route-matching, block-based way to handle your deep links.

Stars3,455
Forks280
Last commit5 months ago
URLNavigatorURLNavigator

⛵️ Elegant URL Routing for Swift

Stars3,344
Forks298
Last commit1 year ago
RxFlowRxFlow

RxFlow is a navigation framework for iOS applications based on a Reactive Flow Coordinator pattern

Stars1,907
Forks116
Last commit11 months ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub