MCPcopy Index your code
hub / github.com/airbnb/native-navigation

github.com/airbnb/native-navigation @v0.2.1

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.2.1 ↗ · + Follow
659 symbols 1,464 edges 85 files 52 documented · 8% updated 8mo ago★ 3,12150 open issues
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Native Navigation

npm Version License Build Status

DISCLAIMER

This project is currently in beta.

Many of the core APIs are subject to change, and we do not consider this project "Production Ready" until it hits a 1.0 release. We encourage people to try this library out and provide us feedback as we get it to a stable state we are confident in, but not to rely on it for production use until then.

Read more about our Roadmap to 1.0

Contents

Installation

See the Installation Guide

Running the Example Project

To run the example project, first clone this repo:

git clone https://github.com/airbnb/native-navigation.git
cd native-navigation

Both npm and the ruby bundler gem are needed to run the project.

npm install
npm start

Then, in another CLI window:

To run on iOS: npm run run:ios

To run on Android: npm run run:android

Guides

API Documentation

Related Projects and Alternatives

Native Navigation is a navigation library for the React Native platform. There are many navigation libraries in the React Native ecosystem. Native Navigation is unique in that it is built on top of the iOS and Android platform navigational components, and is thus more "native" than most other options which implement navigation from scratch in JavaScript on top of base React Native components like View and Animated.

React Native Navigation by Wix engineering is an alternative library that uses "Native" navigation components of each platform, and has been around longer than Native Navigation. If you need a stable / production-ready navigation library today that uses native platform based navigation components, we recommend you check this library out.

If you are investigating navigation solutions and you are okay with JavaScript-based solutions, we also encourage you to check out React Navigation.

Contributing

See the Contributors Guide

FAQ

See the Frequently Asked Questions page

License

This project is licensed under the MIT License.

Extension points exported contracts — how you extend this code

ScreenCoordinatorComponent (Interface)
(no doc) [8 implementers]
lib/android/src/main/java/com/airbnb/android/react/navigation/ScreenCoordinatorComponent.java
ReactInterface (Interface)
(no doc) [1 implementers]
lib/android/src/main/java/com/airbnb/android/react/navigation/ReactInterface.java
KeyListener (Interface)
(no doc) [1 implementers]
lib/android/src/main/java/com/airbnb/android/react/navigation/ReactNativeFragmentViewGroup.java

Core symbols most depended-on inside this repo

getActivity
called by 21
lib/android/src/main/java/com/airbnb/android/react/navigation/ReactInterface.java
create
called by 19
lib/android/src/main/java/com/airbnb/android/react/navigation/TransitionName.java
getDecorView
called by 16
lib/android/src/main/java/com/airbnb/android/react/navigation/AutoSharedElementCallback.java
boolHasChanged
called by 12
lib/android/src/main/java/com/airbnb/android/react/navigation/DefaultNavigationImplementation.java
numberHasChanged
called by 10
lib/android/src/main/java/com/airbnb/android/react/navigation/DefaultNavigationImplementation.java
toBundle
called by 10
lib/android/src/main/java/com/airbnb/android/react/navigation/ExtendableBundleBuilder.java
push
called by 10
lib/android/src/main/java/com/airbnb/android/react/navigation/NavigatorModule.java
putString
called by 9
lib/android/src/main/java/com/airbnb/android/react/navigation/ExtendableBundleBuilder.java

Shape

Method 535
Class 92
Function 24
Interface 6
Enum 2

Languages

Java86%
TypeScript14%

Modules by API surface

lib/android/src/main/java/com/airbnb/android/react/navigation/ViewUtils.java48 symbols
lib/android/src/main/java/com/airbnb/android/react/navigation/ReactToolbar.java37 symbols
lib/android/src/main/java/com/airbnb/android/react/navigation/ReactNativeFragment.java37 symbols
lib/android/src/main/java/com/airbnb/android/react/navigation/ReactBottomNavigation.java31 symbols
lib/android/src/main/java/com/airbnb/android/react/navigation/AutoSharedElementCallback.java30 symbols
lib/android/src/main/java/com/airbnb/android/react/navigation/DefaultNavigationImplementation.java25 symbols
lib/android/src/main/java/com/airbnb/android/react/navigation/ReactNavigationCoordinator.java24 symbols
lib/android/src/main/java/com/airbnb/android/react/navigation/NavigatorModule.java22 symbols
lib/android/src/main/java/com/airbnb/android/react/navigation/ScreenCoordinator.java21 symbols
lib/android/src/main/java/com/airbnb/android/react/navigation/ConversionUtil.java21 symbols
lib/android/src/main/java/com/airbnb/android/react/navigation/ExtendableBundleBuilder.java20 symbols
lib/js/Navigator.js14 symbols

For agents

$ claude mcp add native-navigation \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact