Live data from Hacker News

React Native Navigation Library

airbnb.io

51–56 of 56 posts

Re: React Native Navigation Library

#51
Maybe a little tangential- but with all the talk about Progressive Web Apps, what should we expect to happen with web/native hybrids like React Native? Mobile computing power is at the point where there shouldn't be much problem using simple Javascript and (gasp) jQuery to build an app, then wrapping it with PWA functionality.

Re: React Native Navigation Library

#54
I'm seeing a lot of people being confused with many of the comments in React Native posts. Some people in these comments now aren't sure if the "right" navigation solution is React Navigation or Native Navigation. I think a good document to follow to understand Facebook's plans with the project is React Native's Roadmap [1].

In there you'll see that React Navigation is a solution aimed at "Green Field" projects (as Leland Richardson from Airbnb calls new React Native projects) and replaces Navigator, Navigation Experimental, and Ex-Navigation. On the other hand, Native Navigation is aimed at "Brown Field" projects (like Airbnb's app, which was built in native much before React Native was open sourced) and replaces NavigatorIOS.

You can also see that various features in the roadmap are in collaboration with other organizations (Expo for Create React Native App and Airbnb for React Native Maps).

Indeed React Native has been moving extremely fast but after our decision to go with it over a year ago we've never thought even once about going back.

[1] https://github.com/facebook/react-native/wiki/Roadmap

Re: React Native Navigation Library

#56

Earlier quoted context omitted.

Those animation issues pop up often, and you can get around them by using DispatchQueue.main.asyncAfter(.now() + 0.1) but often you can figure out what the actual issue is (i.e., you're likely attempting to present something in the wrong place) and you should do that instead.

That's a horrible fix, introduces jank, and doesn't work cross device. You normally want a CoreAnimation completion block ([CATransaction setCompletionBlock:^(){}], with an enclosing [CATransaction begin] and [CATransaction end].

Yes, I am saying that it's a horrible fix and you shouldn't do it. Sorry I didn't make that clear.
Post reply on HN