"Blood Donations, Crisis Response, Privacy Shortcuts, Access Your Information, Wellness Checks are recent projects in the main app mentioned in F8 keynote that use RN. (The whole Oculus Go mobile app as well.) More to come. RN hasn’t been used yet in News Feed but that may change."
"I’m not remembering any [teams] that moved away (but there may be some; dozens of teams have used RN so it’s hard to track them all). But you’ll find diehard native devs who dislike RN at any medium or large co, including Facebook."
Some manager making that claim in order to protect trust in Facebook's bleeding edge tech now and in the future doesn't really mean anything. Remains to be seen.
Are you kidding me? Random dude on Twitter who's quoting some unknown friend of a friend who knows someone who heard something gets more credit than the engineering manager at Facebook? As she said, maybe one or two teams at Facebook moved away from using it but they're heavily invested in it and intend on expanding it's usage.
Honestly with all the work going into ReasonML (and Reason React) I wouldn't be surprised if they came up with a way to do Reason React Native, since Reason can be compiled to native. But seriously giving credit to this FUD / fake news on front page of HN is just awful.
As someone who manages a team at a large corp that uses react native and ships a successful project things have definitely changed. It feels like Facebook has lost interest.
- the android debugger has been broken for months (it opens to the wrong url, delta patches also broke source maps). No one at Facebook cares. Do they not use the debugger?
- pull requests have stopped being merged. We have FIVE outstanding pull requests fixing bugs as old as ones ignored by Facebook from 2016. No one will reply or merge them anymore. We've been told to just create a fork on GitHub for our project. Apparently that's what every serious RN user does because Facebook doesn't really care about it anymore.
- they have a bot who auto closes bugs somewhat randomly. For example an old bug that Facebook ignored with hundreds of comments gets closed for "inactivity", but it's not active because folks all complained and now they're just waiting for someone to fix it.
So it all combines to a situation where the platform is buggy, but you can't get fixes merged, and filing bugs is largely a waste of time since all it gets is auto replies from the bot and "me too" responses from others.
We really like RN, it helped us ship fast at first, but Facebook absolutely seems to have lost interest in it and in having a community around it.
I’m sorry it’s frustrating but it’s not at all because FB lost interest. In fact it’s the opposite. We’re making pretty big bets on complex core architectural improvements to RN, and the team is heads down busy with these core changes. Unfortunately it does mean that PRs and external contributions get less attention until those core improvements are done.
If there’s a specific PR that’s blocking you please ping me in DM on Twitter and I’ll try to get somebody to review it.
We’ll post more when it’s closer to being production-ready. But TLDR is that we’re making improvements to the threading model and interop with native code.
I understand what you are saying, since I too am upset about many issues being closed without being fixed. I come across them when doing searches for various problems with RN. It's the same with Flow, the Javascript type checker, only that there it seems like nobody from the dev team even cares about the Github repo and the huge list of open issues (hey, at least they don't close them all automatically by bot).
I think the commit history says more than (auto-)closed issues. They may not share our priorities but they keep working on the project pretty actively.
I was a mobile developer and moved away from it towards web development because of how uncertain the future looks for the tooling.
Investing hundreds of hours into the web framework of the week at least informs me on javascript/html/css in general. However, with mobile, your experience with Swift and AutoLayout might be totally irrelevant in the job market if most businesses want a Cordova or React Native developer, and vice versa, or the mood of the industry shifts.
Further, from a business POV, what do you do? 3 separate codebases (iOS, Android, Web) for native, and deal with a nightmare of hiring, maintenance, and disparate features? 2 separate codebases via hybrid native, and pray the platform continues to be supported while dealing with shaky native features? One codebase + extra for a Cordova application, having suboptimal performance + UX alongside another hiring nightmare? Or pray Apple decides to be benevolent, and hitch your app to iOS picking up support for PWAs?
People who complain about churn in front end have never done mobile.
It's not like the time spent learning it is wasted. The concepts are very transferable. I started a job last year, which involved working on a React Native app. I had zero experience with either React Native or React, but I could be productive pretty much right away, as I had lots of JavaScript and TypeScript experience so no problem with the language, and some experience with Angular, so could handle the concepts. My native iOS and Android experience meant I could write plugins too. Recently I had the slightly odd experience of helping to lead a class on React within a couple of days of using it for the first time. Aside from some fumbling with the styling, I could apply my React Native experience with no mode switching required.
Learning a new framework is rarely time wasted. Even my totally obsolete experience with Adobe ActionScript was really useful a decade later, as it's basically the same as TypeScript, while Flex shares a lot of concepts with React.
You make great points but mobile still favors native greatly- only React Native has made any significant challenge to it. Yes there are a lot of options but I suspect the tooling questions in mobile is about stuff like Objective-C/Java vs Swift/Kotlin or Autolayout vs. third party libraries, not native vs. cross-platform.
"People who complain about churn in front end have never done mobile."
This is as incorrect as it can get. There are these frameworks like RN, Cordova etc. but in the end these are and probably will be niche that don't really matter. Pretty much everything in mobile is done native and often with standard MVC etc.
The future is as certain as in any other platform.
Focus on OS vendor tooling and a specific platform instead of whatever pops up as alternative 3rd party tooling, with various degrees of integration with the platform APIs.
One of the best options I did after my delusion how Borland went under with their uncertainties where to focus next, was to always use OS vendor SDK for production code.
So far this option has worked out the last 20 years, and I bet it will continue to work out until I retire.
I’ve done native iOS dev as a freelancer since 2010 and I’ve never had even a hint of trouble getting work.
Third-party frameworks for cross-platform dev come and go, but RN is the only one that has ever felt like it might offer a challenge to native dev. A year ago I would have said maybe everyone was going to shift to RN, but then I actually tried it and I realized that it’s incredibly immature. I really doubt it’ll ever be more than a large niche, and most apps will continue to be built natively.
Regardless, I think you’re worried about changes that might possibly occur more than you are about changes that have already occurred. In iOS dev, the only major shift I’ve seen in the last eight years is Objectice-C to Swift, and even that wasn’t that painful because you can mix and match the code.
We recently began work on a mobile app version of our web-based kanban board application. We ended up spending a week on react native, then switching to Cordova, which I don't agree with 100% but you're dead on about the ups and downs. At the end of the day, a 2nd code base, even if its similar to our web react code base (and even if you can share all your state management code like we could), is still a 2nd code base.
I'm going the other direction - I've been in embedded/systems since forever, but focused mainly on mobile since forever .. and now I'm more and more convinced that the insanity of hell that is mobile development, is no different than the putrid festering cess-pool that is web, and the only way out is to write yet another host app, with its own ecosystem-supporting embedded script capabilities, turn the whole thing inside out and write all of my own damn GUI controls, subscribe to nobody's slippery gravy treadmill, and just say no: to all the things.
Like the DOS days, if you don't have your own GUI lib, gtfo... I know its an offensive position, but frankly I find the big web con, and all the fancy dancing of mobile, to be just as offensive.
Hmm, what's the problem with this guy? After told on the face that his statement is unfounded from a much reliable source, he doesn't correct his statements nor apologize for spreading (seemingly?) false information (If you dissent, please elaborate with more strong evidences, not some holy "Sources"), instead, he continues with what appears to be insinuation that he is more authentic.
There's no question that Facebook only uses RN for part of the main Facebook app. They've been open about the fact that Newsfeed on Android uses Litho rather than React Native: https://github.com/facebook/litho
Ironically, this is because they weren't happy with the performance of native Android components, and that's what React Native uses under the hood.
(one of the twitter comments):
> [...] there’s no smoke without fire. Facebook has a history of just abandoning things.
When I was evaluating which web-technology to use I came to choose between angular and react. At that time angular2 just popped up and a lot of people where annoyed by that. One point why I decided for react was because google has a bad reputation when it comes to keeping things alive.
I haven't heard of Facebook having a reputation for abruptly shutting platforms down. On the contrary, I believe its widely accepted that they handled the shutdown of Parse very gracefully. Year+ notice, with significant open sourcing and community efforts to maintain continuity.
Well React and React Native are two different things, just because they move away from it for their apps doesn't mean they're going to move away from it on the web.
Only considering products made by actual engineers at big companies makes a ton of sense. All the dead web frameworks of the week where made by silly hipsters weren't great choices in retrospect.
Other than an announcement from Facebook that this project is being moved away from I would rather consult the github page which has updates from the last two days ago.
If they are moving away it would make more sense that they changed the licence to BSD on these projects. On the other hand even if they are moving away from using react native wouldn't the community try to pick it up?
Since this is obviously baseless speculation by a source with no credibility, and more authoritative sources have denied it, I recommend flagging this story so that it disappears from the front page as soon as possible.
It's hard to criticize fake news if we fall for it ourselves so easily.
I have an ex-coworker who just got a job in Seattle at Facebook and he mentioned something similar. The reason it came up is because some executives were trying to push React Native as a solution for a project we're working on. No engineer thought it was a good idea and we get to build native. After talking to my buddy, he said that Facebook as moving to some new framework.
I have few RN apps on ios/play store. Its very good for cases where you do not need to access much of device/os functionality. For video, audio other native functionality you need to hunt for well maintained libs.
Flutter is a very alternate for RN. But when it comes to device functionality i feel its the same case.
Ultimately i feel its better to write in native swift/kotlin/java.
React native is used by Facebook, Discord, Wal-Mart, Baidu, etc etc it's not going to be abandoned. This is one person's random click-baity rumormongering tweet. Facebook showcased react native at it's F8 developer conference just one month ago. It's a great tool, use it if it works for you.
There's new stuff like Ionic, NativeScript, and Flutter. There's obscure ones like Codename One. And there's speculative ones like SCADE and Kotlin Native which are really just language bridges.
NativeScript is pretty good. It can be used without a framework, or you can use it with Angular or Vue (and perhaps others). I used it with vanilla ES6 about a year ago for a side project. After finishing the project, I ported it to RN to compare the two. At the time, I felt that RN had the upper edge, because it could hot-reload updates more quickly. I suspect that the NativeScript team has made progress on that since then, though.
Flutter is very much in beta still for the next couple months at least, so you'd expect that.
If I was choosing between RN and Flutter as something to learn, assuming I had no prior experience in either, then Flutter is probably a better choice. I'm sure there are arguments both ways though, but Flutter is very 'solid' for lack of a better term.
sending intents "The other popular use-case for Intents is to call external components such as a Camera or File picker. For this, you would need to create a native platform integration (or use an existing plugin)."
Our company has been using RN with real users for just about a year now. And there really aren't any complaints other than we sometimes can't use some API's (but we still manage to figure out a solution at the end of the day - to the satisfaction of our iOS & Android users).
However, we do use Expo[0] to manage some of the rough edges of RN.
It's not really enough to judge the developer experience of React Native in general. The whole point of Expo is that is replaces the normal experience.
That's a fair point and I certainly don't mean to knock devs who enjoy RN. I found it quite frustrating compared to regular React, which is usually a very pleasant framework to work with.
https://twitter.com/sophiebits/status/1003090742296735744
"This is not true."
"Blood Donations, Crisis Response, Privacy Shortcuts, Access Your Information, Wellness Checks are recent projects in the main app mentioned in F8 keynote that use RN. (The whole Oculus Go mobile app as well.) More to come. RN hasn’t been used yet in News Feed but that may change."
"I’m not remembering any [teams] that moved away (but there may be some; dozens of teams have used RN so it’s hard to track them all). But you’ll find diehard native devs who dislike RN at any medium or large co, including Facebook."