I don't think React is going anywhere given its bigger than Meta now.
That said, React Native seems like its the development framework for all Meta applications, I imagine its still core to their business as a result, but that may have changed, I am a few years out of date on this exactly
NT - Native Templates. It's a cross-platform app dev framework where you can write Hack on the server once to make surfaces for both iOS and Android.
Blocks is similar to NT but in Python (IG backend is all Python)
Trying to figure it out as the Meta apps are very nice UX wise and maybe web technologies have come a long way to "feel native" hence i am in disbelief at the leaps and bounds being made.
- Eng writes Hack/Python code on backend with a view tag-ish
- Client has native components for NT and Blocks. The native component references tag-ish from above and pulls code / config
- The code / config returned from the backend gets translated into Litho/ComponentKit components (so native Android UI elements) and rendered
Curious to hear more!
By 2021 there were edicts in some departments that absolutely no new projects were to written with RN, with the emphasis moving towards their server-side rendering frameworks (Native Templates and Bloks.)
Would be nice to know where you get your information from, that RN isn't core to Meta
They have 2 or 3 other React-like internal frameworks that most of the apps are made with. ComponentKit is the main one for the Blue App, and IIRC that's open source.
I hope to be proven wrong btw ...its about time we have a FE framework surviving more than 10 years.
so if it survives another year it'll be 10 years already; it's not going to disappear in the next year.
If you know Rails or Django fast forward 9 years.. you still know them. Can you say the same about React?
Redux is certainly the most widely _used_ state management lib in React apps, but that's a community-driven thing, not anything the React team has specifically suggested (in the same way that React Router is the most commonly used routing lib).
Before JQuery creating your own JS for a weird IE6 bug was a nightmare; but with that problem solved in the modern web development, JQuery killer feature became a little redundant.
I seriously doubt "native web components" or something similar will catch in the same momentum to kill React.
On the flip side, usage of our modern Redux Toolkit package continues to go up fairly rapidly (to the point that RTK by itself is more widely used than other libs like Mobx or Zustand), and we get tons of positive feedback daily from folks who enjoy using it.
Also, Redux Toolkit's "RTK Query" data fetching and caching API also addresses the same use case as React Query, with some unique features and capabilities (OpenAPI/GraphQL codegen, streaming updates, cache lifecycles) [1].
So, while Redux will never be the "must-have" it was in 2016-17, it's still an excellent choice in many cases, and still very widely used.
[0] https://blog.isquaredsoftware.com/2022/07/npm-package-market...
(I too am one such dependant; and it grieves me that this is the case).
Heck, Firefox exists because Google keeps funding them.
It isn't 2002 anymore where Linux was some radical open source project with basement hackers making it all work.
That really doesn't seem like the same problem; there's a world of difference between being wholly at the mercy of one company (Facebook, Microsoft, Apple) vs "dozens of large technology companies". If tomorrow Microsoft disappeared or turned more evil, Windows users would have a problem. If tomorrow Redhat disappeared or turned more evil, Linux users at large would be totally fine, and even folks in the RH ecosystem would recover quickly enough (probably by rebasing Rocky directly from Fedora).
I guess it's no different.
And also, at least Facebook makes money to fund that open source project.
VueJS on the other hand depends on big donations and foundations to help.
The point being that people depend on way more precarious open source projects as the linchpins to their businesses than they realize.
Instead, consider that you chose to leverage your web development work by taking what fb has jumpstarted with a lot of their cash. You can also think of it as second-hand-investment for your thing, and you don't have to sell any part of that to get the money/talent.
And yeah sure, that second-hand-investment money might dry up at some point, but you can still continue to use what you got when you decided to go that route (it's not like your react project is going to suddenly fail, why would it), and since it's a huge project and you are not the only one to have made that choice, you can likely still count on enough third-hand-investment for it to not be any problem in the future.
All in all, I would say that if this is your most worrisome dependency you are probably in pretty good shape.
Only time will tell if corporate subsidized open source projects like React will thrive if such an event occurs. There may or may not be enough of a strong and organized community to keep it going. I'd say odds look pretty good for React continuing to thrive though.
Users have access to their own posts.
Users are in groups.
Groups have an admin user.
The group admin can edit any post.
(probably a bit underspecified, but you get the point)
I can imagine a world where that could theoretically be converted into a domain model, rest endpoints, GQL service and an authentication system. I literally think the above is possible with today's AI capabilities, it's just no one has released a finished product.
Beyond that, I think AI for front-end is a lot harder, but could probably exist at some point.
Maintainers and major contributors are from Facebook. You can't "just fork" the monstrosity that React is and magically keep it moving at the same pace.
For the second, the question "Why would React be impacted by layoffs if it's open source", the answer is obviously: It would be impacted if people who were getting paid to work on it have been laid off. Seems straightforward. Bigger impact depending on number and roles of such people.
I mean, they ultimately associate lists of properties and functions (methods, if you like) with a component object instance (yes, object) down in the React internals. Sure, access to them is FIFO rather than a lookup table, but that still looks a whole lot like very-weird classes/objects being reimplemented in a language that already has decent-enough ones.
Now, the trouble was certain optimizations and features were probably going to be hard to impossible to achieve while supporting both functional- and class-based components more-or-less equally, and the easy path forward was to let class components become more powerful and functional components slip to second-class (haha), but instead they put object/class-like features in their functions so they could have functions (but very much stateful/side-effecty, so WTF is the point?) lead the way, for whatever reason.
Classes were really easy to compose and automatically easily bring everything you needed into the class. This did lead to some situations where you could over-engineer and get yourself into a bind. You can technically do the same/similar thing with hooks, it just requires a bit more code. Lack of setup/tear down with hooks also means you need to rely on nonces more often.
In general, hooks have a bunch of small, reactive-programming tricks that you learn with experience.
It's basically a class that has pre-written lifecycle functions.
I'd argue the opposite - it has been good enough, but now the whole FB platform is old and stale and so is React. 10 years is a long lifetime in the tech world. It will be around for another decade but I'd argue is over the hill in most of its variants. Big next gen opportunities
1. doesn’t try to be a full framework 2. Is easy to explain (without hooks) 3. Has good inner-loop tooling with hot reload 4. Doesn’t have any insane transpiration requirements
What should I try?
Configuring webpack is insane in itself
It you think React is bloat I would recommend Preact
It can be as you say sometimes, but most other times, it's akin to Chesterton's Fence or Gell-Mann Amnesia, talking about something without actually knowing anything about it. It's not only wrong, it's useless.
I was also speaking generally, not towards React itself. Some people do have some issues with it, but I don't think it should be discarded wholesale as you imply. By all means, use alternatives like Vue, Solid or Svelte, but React is in my opinion wholly superior, at least for someone functionally oriented like me, where f(State) = UI without reactive stream based side effects.
I use an array of frameworks. Anyway there is nothing intellectual in this debate as we are not conceptualising alternatives we are just considering existing tools, a bit like building workers considering different types of hammers. A common issue in the js world.
For the lack of a better example, when Bill and Melinda (Gates) got divorced, people were worried about the Gates foundation. They even posted about it in their official note of separation to the community. Now, that makes sense. Asking about an open source project that's already quite stable, right after Meta lays off employees is in poor taste.
The React Core team was 100% Meta up until earlier this year, when Seb Markbage switched to Vercel (and I believe Vercel is now also funding an additional full-time dev to contribute more React SSR / Server Components implementation). React Native work is also primarily Meta, although I think MS has a team that supports RN for Win/Mac.
There are certainly _contributions_ from the community, but in terms of core library vision and implementation work, it's all been the primary team (Seb, Andrew Clark, Dan Abramov, et al).
Dan recently commented and said that they'd certainly _like_ more actual outside contributors, but there's a big onboarding cliff that requires a lot of time investment:
- https://twitter.com/dan_abramov/status/1585423173860102146
- https://twitter.com/dan_abramov/status/1585430299948638208
- https://twitter.com/dan_abramov/status/1585431334373052416
- https://twitter.com/dan_abramov/status/1585432699468058624