React Native Open Source Update
facebook.github.io
facebook.github.io
In my experience, it's a fairly common theme in projects like jest or yarn.
Also: What kind of person feels bad because their work merely benefits society but not Facebook?
I would be willing to bet that if Facebook adopted an attitude of "screw it, lets just stop responding to these idiots" that will make even fewer people want to work at Facebook right now, given all the bad press these days. I bet if you ask people why they are still continuing at Facebook these days, a fair number would say something like "Yeah, at least I can work on open source projects".
If anyone at Facebook reading this wants to go for a dare, why don't you try dropping support for a high profile open source project like ReactJS and see if that affects the candidates entering your pipeline.
I hear that sort of happened w/ ReasonML. Apparently Jordan still maintains it (because he's a prolific OSS guy like that), but FB itself is not investing in it, and is instead doubling down on Flow.
Jest is another project that largely yielded governance to its community.
You gotta understand that the number one incentive for someone to interview at FB is compensation. OSS opportunities are often a minor perk, and many (most?) employees don't do high profile OSS at all.
I like to think that React — or more generally, component-driven user interface design — is the future of development on all platforms, not just the web. It really seems like we have “peaked” with concepts like state management, composability, and so on. Don’t get me started on how nice hooks will be in the mobile dev ecosystem.
I feel like React Native has taken a hit in the last year or so, with large companies saying they are moving away from it. I really hope that the RN community continues to flourish because I think it will inspire other platforms to move toward better developer experiences.
We haven't peaked. If you leave out the closed-source nature of the Microsoft dominated tech scene, the tech from the 90s is arguably better than what we have now.
It is too late for Facebook because a lot of high profile startups are moving away from it. When you release something like this and then have the OSS deal with it and not responed to PRs for several months and years, it leaves a bad taste.
And it looks like they are a lot faster about responding to PRs now.
Tt seems to me like they are doing a good job improving React Native!
Might as well develop natively if it's only good for Android.
Flutter imitates native by rendering everything from scratch, after a few major updates to iOS that's bound to be abandoned.
I created many apps with React-Native that could also be built with web technology and would mostly look and feel the same.
But you're right with Google tech being abandoned; I prefer Revery to Flutter.
But how much more certain is the support for Revery over that for Flutter? What's Outrun's history with large projects? What incentives do they have?
It has a very similar approach to a React/RN project.
I'd eventually switch over to Revery when/if it's production ready.
Lucky for everyone there is a world beyond "high profile startups" whatever that means. You may even argue "high profile startups" is an irrelevant percentage in the job market.
FYI, Android has 75% of marketshare worldwide and 55% in the US.
If you look at Android users as a whole, percentage wise of course they will pay less because they are a lot more popular in less well off countries. On the other hand Google's carrier billing support is a lot more extensive than Apple's, so actually being able to pay is less friction.
Amount of paying mobile users for both companies is clearly dominated by the iOS. About 1:5-1:10 ratio.
but it is sure that apple customers are more used to pay for applications. that's something that i noticed like 8 years when i switched from windows to osx/macbook. while on windows you could find free basic utility software like rippers converters and so on, on macbook they usually where paid applications.
Disclaimer: am contributor to react-native & iOS dev.
I also talked to someone from Fb recently, and he said that even some internal teams have moved away from it.
I went down this path of trying both and ultimately ended up building my side project with flutter. My project is a cross platform App that reads articles to you using some great sounding open source AI/ML models by converting any article to audio so you can maximize that dead time on your commute.
This is a little self promotional but if you want to see what’s possible with Flutter, you can check it out here:
Edit: while I get folks may be upset with my comment and are down voting me, I’ve geniunely worked with both technologies so I’m not just making this up.
I don't see how emulated native controls can feel more native than actual native controls.
You should put labels on your image buttons though.
There's also developer experience-- there's a ton of tools available for JavaScript, developed by people across the industry-- and long-term maintainability. JavaScript has a solid record of backwards compatibility and multi-platform support, plus lately its been getting lots of cool new features. Adopting Dart could sound like becoming too dependant on Google and the decisions they make, especially considering that forking or migrating a programming language is a harder than doing so with libraries.
I don't know how big all these concerns would are when considering Dart, but it's things organizations thinking of switching/adopting a new programming language need/tend to think about ¯\_(ツ)_/¯
The app UI feels native on Android and performs well.
Addition of PWA support would be quite compelling. If you then added in the ability to swap Dart with, for example, TypeScript, then Flutter adoption would explode.
The "code once, run everywhere" landscape is filled with compromises at the moment.
I am trying hard to making sure to comment on things that are relevant and trying to add value with a little self promotion sprinkled in and I’m sorry about that but the feedback has been incredibly useful.
While the build chain, documentation, marketing etc is nicer - it definitely has an uncanny valley situation going on in iOS at least. It NEARLY feels native.. but something's not quite right.
Also rendering performance really sucks on the XS Max. Even the most basic of list view examples will drop frames.
Here's otherwise a list of things we're working on right now https://github.com/flutter/flutter/projects/9.
I've researched both, and Flutter is far from superior.
They don't have a production way to target desktop platforms, and it's not a native experience, it's an emulated UI. It's noticeable on iOS.
Also noone wants to learn a language from Google just for it to be abandoned in X years.
Even if they don't abandon the language, how can you expect Flutter, which hinges on them updating the renderer for every release of iOS to match the native look and feel (which it fails at right now), to stay alive? Google can barely maintain a chat app let alone emulate a UI that isn't theirs.
And this is all for an experimental OS they haven't even put full faith in yet.
I'm building a tool for managing your reading across devices. IT basically allows you to suspend and resume your reading easily and supports caching web pages offline and reading them like you would a PDF.
Right now I'm torn between a PWA and React Native.
Our PWA code is React, just not react native.
Being a PWA means I don't have to deal with React Native issues and I can keep the same code across my entire app.
The changes that Microsoft has made to their app store to support PWAs are really nice.
Additionally Google has their new 'custom web view' that allows you to compile a PWA into an Android App.
Part of the whole thing with the app store is being discoverable.
You might be a PWA but people are taught to go to the app store to find new apps to install.
However, with React Native I think you would have to do a bit more work but your app would look better on that platform.
Has anyone had to make this decision lately? Would love to hear your feedback.
If your background is in web dev, building a PWA should be much easier.
It used to just mean you would build on standard html features so your app would fallback to it and still work if your crazy new JS driven input type didn't work the way you expected, and for accessibility purposes. I don't see either of those goals mentioned.
I think if you're a small developer, having something that works across iOS, Android and the web with the least effort is usually worth more than native integration.
What does this mean? Does this mean they're always on the very latest RN version? If so, wouldn't this constantly break like many layers of dependencies?
I kind of like the idea though.
It provides common components to glue react-windows, react-macos, and react-native together.
The downside is you have to roll most of the components yourself due to a lack of UI lib, but it has all of the core components, and imo that's better.
The really cool thing about react-windows is it builds UWP apps so you can target Xbox, W10, and Windows Mixed Reality natively. MacOS support is experimental but the core is there. Linux support can be achieved with Electron (I know, not native, but maybe someone will make a react-qt project)
> Other platforms such as Windows 7 & 8, MacOS, and Linux can be targeted using a web wrapper solution like Electron.
That's interesting, but Macos/linux support are a hard requirement for what I work on professionally / side projects though. Windows support isn't.
There is experimental support for MacOS, but it's actually very far along, close to being usable for production if not already.
Linux support isn't very widespread for many cross-platform technologies in the first place, so Electron is the best bet there. Maybe someone will make a react-qt project.
There's https://github.com/status-im/react-native-desktop
It'd be nice to have a React Native for GTK though. There's https://github.com/Place1/react-native-gtk but it's abandoned. React Native for GTK might get ReactXP natively onto Linux: https://github.com/Microsoft/reactxp/issues/41