Slide 1

Slide 1 text

Navigation in a hybrid app

Slide 2

Slide 2 text

• Who am I • @hotchemi • Engineering manager at Quipper • Quipper is betting on React Native! • quipper/react-native-td • coming soon…?

Slide 3

Slide 3 text

• Navigation • Biggest challenge isn’t it? • No official cross-platform component and so many 3rd party libraries • Need a seamless integration between native and RN in a hybrid app

Slide 4

Slide 4 text

Native Native and RN RN Native

Slide 5

Slide 5 text

• React Navigation • Basically great! • But the transitions between screens are not quite the same as native one • Can’t handle events like viewDidAppear • react-native-router-flux is the same…

Slide 6

Slide 6 text

• React Native Navigation • Loving it! • We’re using it in 100% RN app • VC/Fragment based transition • There’s no API to mix with native code…

Slide 7

Slide 7 text

• airbnb/native-navigation • Well designed for a hybrid app • Still unstable • iOS module is written in Swift3.1… • somehow caused an error… • impossible to use on top of UITabBarController?

Slide 8

Slide 8 text

Our solution… Create our own native module

Slide 9

Slide 9 text

• JS

Slide 10

Slide 10 text

• Android

Slide 11

Slide 11 text

• iOS

Slide 12

Slide 12 text

• Dynamic rooting

Slide 13

Slide 13 text

• Dynamic rooting

Slide 14

Slide 14 text

No content

Slide 15

Slide 15 text

• ToDo • Native view events? • Use EventEmitter • Deep link? • CustomTransition? • Polish API and make it open