4 ms·
Thats true, however in the long term, we need a react like framework that solves cross platform development. React Native has lots of problems with navigation,
by TeeWEE 9y ago
Thats true, however in the long term, we need a react like framework that solves cross platform development. React Native has lots of problems with navigation, the AirBnB team even stopped using it seriously.
I guess Kotlin and Kotlin Native (which runs on ios) could be a good started for building a KotlinReactNative, which allows creating an UI in a DSL based syntax that works on multiple platforms.
- pdnell 9y ago@TeeWEE, Do you have any info on why Airbnb stopped using React Native? Would love a good read on why.
- gpeal 9y agoWe have definitely not stopped using React Native! Not sure where you got that impression. We continue to heavily invest in it as well as native platforms and make a case by case decision for all new products.
- hysan 9y agoAlso interested in hearing if they really stopped using React Native as a whole. Especially since their react-native-maps library is the defacto library for maps. It would be quite scary if they decided to stop using React Native. Right now, the only thing I'm currently aware of is that their navigation library (native-navigation [1]) is pretty much unmaintained and they are trying to plan out a transition to move it under react-community.[2] The only thing that hints at their slowing use of React Navigation is the mention of conversion to React Native's navigation getting a much lower priority to the point that the native-navigation library has essentially become unmaintained.[3] But when I initially read that, it didn't come off as Airbnb deciding to stop using React Native. [1] https://github.com/airbnb/native-navigation https://github.com/airbnb/native-navigation [2] https://github.com/airbnb/native-navigation/issues/145 https://github.com/airbnb/native-navigation/issues/145 [3] https://github.com/airbnb/native-navigation/issues/145#issuecomment-329384356 https://github.com/airbnb/native-navigation/issues/145#issue...
- danpalmer 9y ago> React Native has lots of problems with navigation, the AirBnB team even stopped using it seriously. Is this true? I'd be interested to see a citation on AirBnB stopping using it, last I heard they were going all-in. As for the issues with navigation, isn't it just that there isn't a great navigation library yet?
- jd20 9y agoDon't know if it's related, but maybe this has to do with AirBnB releasing their own navigation library (native-navigation), meanwhile Wix's react-native-navigation seems to be seeing more activity and slowly becoming the officially sanctioned RN navigation library?
- TeeWEE 9y agoAirBnb is not acitvely mainting this: https://github.com/airbnb/native-navigation https://github.com/airbnb/native-navigation And one of the main persons behind ReactNative at AirBnB seems to be less enthousiastic in his latest interview.. However i cant find the interview anymore
- danpalmer 9y agoDo you think they've switched to another navigation framework? I've had some success with https://reactnavigation.org/ https://reactnavigation.org/ - although it's fairly early stage.
- gpeal 9y agoWe have actually be using an internal navigation framework that is unfortunately quite tightly coupled to our app. It's been working very week for us which is why we decided to make an open source "clone" of it. Our original intention was to migrate our internal navigation library over to the open source clone we made. However, with the realities of life, we haven't had the time to actually do that yet which is why we haven't been maintaining it. Like Leland said above, we're still working hard and making exciting progress on React Native but we continue to invest in native platforms as well and product teams make a case by case decision on which one to use. Hope that clarifies things a bit :)
- hboon 9y agoEarly this year, they switched to their own navigation library. The issue they had with React Native's navigation components was they have a React Native project that used to be a native iOS project, so they had to navigate across "screens" from 2 different toolsets seamlessly. You wouldn't have this problem if you start a React Native project from scratch. They seem to be still using React Native. Have you heard otherwise?
- lrichardson 9y agoto clarify: we never "switched: to our own navigation library. We built our own from the start, and have never switched.
- bogomipz 9y agoI was recently reading up on Ionic[1], is going the hybrid route not considered a viable option for solving the cross platform development problem? I am not a front-end developer but also have a recent need for something similar to Matcha/React/Kotlin. [1] https://ionicframework.com/ https://ionicframework.com/
- wkrause 9y agoDepends on the problem you're solving. I've seen a ton of ionic apps written for in-house use at large enterprises. Often the lower cost of maintenance and development costs more than justifies the slightly poorer UX that usually comes with cordova apps. That tradeoff isn't always acceptable in a direct to consumer app, which is why you don't see a ton of popular apps in the app/play store backed by ionic framework.
- bogomipz 9y agoThanks for your feedback. Would it make sense then to prototype an app in Ionic/Corodva before paying someone to replicate the functionality natively using Java/Swift? Or is that really just false economy? My use case is really just a proof of concept at the moment.
- wkrause 9y agoI'd start even simpler and use a tool like Figma to prototype the UI and workflows that are at the core of your app. Then start actual development based on the feedback from showing it to potential users. A lot will depend on why you need cross-platform support at launch. For most direct to consumer apps, your intended user base should skew to one platform or the other and should be large enough to support a beta and launch on a single platform. Not launching with both platforms supported won't make or break your app and launching with both without much mobile experience to begin with could even prove to be a distraction while you try to iterate on you're app's design. If you're selling an app to businesses, then not supporting both iOS and Android at launch would be a real roadblock. In that case starting and maybe even staying with Ionic could make sense.
- lrichardson 9y ago> the AirBnB team even stopped using it seriously This just isn't true. Airbnb is actively using React Native a lot and has not "stopped using it seriously". I'm not sure where you got this impression. Some people responding to this are mentioning the transition of the potential native-navigation library to react-community. This is a library that we never actually used in production, though the plan was to move off of our internal library to this one shortly after open sourcing it. Priorities shifted internally (to other, more pressing react-native related things that aren't OSS), and we have not yet been able to do that. Since the community really wanted to work on the library despite us not actively maintaining it, transitioning it to react-community seemed like a better thing to do than further fragment the community by having people fork it. I'm still hopeful that we will be able to migrate to it in the future. Source: I am the tech lead of React Native infrastructure at Airbnb and the primary author of native-navigation.
- TeeWEE 9y agoThanks for your reply @lrichardson. I got the impression that ReactNative was having a hard-time within AirBnB lately due to a lukewarm response from Native Developers. (You mentioned this in an interview). Sorry for my mis-interpretation. Where does AirBnB actually use ReactNative, and where is it purely native? I was in the understanding the move to ReactNative was not going "the way you preferred". I can imagine there are some roadblocks using it everywhere. Or some hesitation from Native Developers. For me also: Using JavaScript as a language run inside a interpreter inside my app doesn't seem like a smart move. Also native like navigation, activity lifecycle, animation etc are probably hard to get right with React Native.