File System-Based Routing + React Native
p/file-system-based-routing-react-native
Build native navigation using files in the project directory
Evan Bacon

Expo Router — Build native navigation using files in the project directory

1
•
An opinionated system for building cross-platform native routes using React Native. This automatically generates native links for each screen in the app making it easy to test and share content. The API is essentially Next.js, PHP, Remix but for native apps.

Add a comment

Replies
Best
Evan Bacon
I'm the creator of Expo router. The hardest part of cross-platform development is navigation. The disparity between building routing for web and building routing for native was just too large. This framework brings the two systems a lot closer together. Not only is it easier to build navigation, but the apps can generate a lot more functionality automatically as well. Every time I make an app, I wish each part of the UI was linkable so I could directly share the content that is relevant to the person I'm sharing it with. Because native apps don't have first-class URL support, this is hard to test, implement, and maintain. With file system-based routing every component has a URL segment associated with it, making deep linking a fully automated feature. This same concept applies to other niche native features like handoff, universal links, launching app clips, and native (Siri) indexing, all of which I'll be exploring in future versions. I'll be the first to admit that this system is _very_ opinionated but I think it's pretty useful for content-driven apps where discoverability is key.