React is now the de facto choice and much less painful than past de facto choices, is my take on why. It has a mature and healthy ecosystem, and its relatively small surface makes it easy to learn and predictable, while declarative GUI in general is low on footguns compared to ye ol two-way data binding.
Many of the competitors springing up define themselves in terms of React, either as an improvement or a foil. But if you're just trying to get things done, it's hard to go wrong with it - and in a practical sense, not a "nobody got fired" sense.
React doesn't have a "relatively small surface" any more, because even the React team doesn't recommend that you use "just" React. It's all frameworks on top of React like Next or Remix, and those are more complex, have many involved concepts and come with footguns. I have seen many, many sites switch to Next and completely bungle it, making the user experience worse than it was before the change.
(Of course, even React itself has gotten fairly complex with Hooks, Suspense and the dreaded Server Components.)
haha, I basically feel this way about Svelte/Kit. It's not mature, but the surface is so small and learning curve so pleasant that it's our go to choice now for internal webapps.
(We have no external webapps because my company, funny enough, builds a JavaScript framework!)
Hold that thought. Many people are saying React has jumped the shark with the complexity of server components and tight coupling with favored frameworks like Next.js
I wouldn't be surprised to see some movement toward simpler but equally robust frameworks like Vue or Svelte.
IMO a JavaScript revolution is quietly brewing. Today’s frameworks have gotten amazingly complicated and EcmaScript spec is gaining new capabilities at a rapid clip, so some of critical features for modern web dev is built in. This project is a great example of what’s coming https://www.arrow-js.com. I think the right move will become avoiding these large and complicated frameworks unless they’re truly called for.
I’m starting to feel the same way. React’s big selling point when it came out was that it was “easy to reason about”, and that was true at the time. With hooks, server components, and 10,000 different strategies for managing state and side effects, I can’t say React is easy to reason about anymore. We can do things now that were impossible back then, but now we need to do even more than that, and it feels like it’s time to take a step back and do something different. I don’t know what that is yet.
That, while well intentioned, is probably wishful thinking. Large frameworks do not exist to provide technology capabilities or features. They exist to supplement skill deficits in people, primarily around architecture and composition, and any such features are built upon the stylistic premise they provide.
https://vanjs.org is another example in that direction. It illustrates that it's even possible to have a full-fledged solution of composing complex reactive DOM tree with just plain JavaScript functions.
This is already ongoing in the area of build tools. There's a big competition on efficiency right now, with the fairly light-weight Vite already being the de-facto standard for new projects.
It’s interesting seeing so many comments about stabilization around React. It’s not wrong per se, but it’s also not reflective of what I see from the FE community elsewhere. I see a ton of interest in newer frameworks like Astro. Solid has been growing at a steady pace. Qwik is gaining steam. Even older frameworks like Angular and Preact are evolving, eg adopting more reactive features. Vue and Svelte are going strong, albeit probably not gaining much new traction. And people are creating new frameworks (whether for education/demonstration or to introduce new ideas) or building new paradigms on existing ones (even on React, be it Preact Signals or Blockdom).
I think the reason these aren’t prominent on HN is because the community here is overwhelmingly skeptical of, if not hostile to, new developments and exploration in the FE/JS space… and because the FE/JS community knows that and is likewise reticent to subject itself to that.
That said, it is true that React is a formidable incumbent, and that quite a lot of the space has coalesced around it. I don’t think that’s set in stone, I even think there’s at least some churn coming sooner rather than later. But I don’t expect that to make huge waves on HN unless and until it’s well underway.
I think there are a lot of frameworks on the edge of viability, but the bar is a lot higher than it used to be for front end tooling. React(70%), Angular(25%), and a little bit of Vue.js(5%) is the market for front end positions with React owning the Lion's share. There are always new things being built, but being used is different.
The React team has done a great job of being generic enough for a broad range of use cases. As new use-cases arise, someone can build a new framework to support it. SSR has gotten much more popular than the SPA style, and the core React team has moved to support it with server side components.
If they can continue to follow the innovators, React will continue to dominate the front end landscape.
For a while, it seemed that a new JS framework was coming out every day. There was even a "JavaScript framework of the day" blog, which unfortunately I can't find now. But things really slowed down several years back... I want to say 7 years ago or so. React really does seem to have won, as the other commenters have said. It seems to be the main software taught by coding bootcamps and the like. I suspect that the confusion caused by the Angular 1 -> Angular 2 transition helped React gain the upper hand. There were other JS frameworks floating around that had a considerable number of users (including Ember, Meteor, and Backbone, off the top of my head), but they were nowhere near as popular as React or Angular. (That's my impression, anyway.)
Irrespective of the merits of React, it is sad to see the monoculture that has formed around it. I get the same kind of vibes as I did back when Java was everywhere, and comp sci graduates used to have the impression that Java = programming.
Someone should do a GPT analysis of HN submissions to find and catalogue the HN-Meta. The meta being, the general rise and fall of sentiments / curiosities.
I've been on here for 15 years and definitely feel phases when it seems like a lull because I am personally not interested in the current hype.
Side note: A few months ago, I swear I saw about 150 different databases I had never heard of on here.
there are some weird phases that happen for sure. I've noticed the same thing with programming languages. There are periods where there is tons of stuff about functional programming and then it'll die down again for a while.
tbh i feel like many posts on HN shouldn't make it to the front-page. HN is filled with smart people with tech skills and I have a feeling many of them are gaming the algorithm for self-promotion. Even just getting your friends to upvote something is kind of disingenuous since it bias what should be more objective and we know that people do tend to follow others (social proof.) I don't have a solution. This is symptomatic of quite deep and complex issues. maybe someone will solve this one day.
This feeling why I stopped using my real name (on most sites, not only hear). Upvotes or downvotes don’t mean anything to me as I have nothing to sell to you, not even myself. It’s at least far more relaxed for myself to not have to worry about things that don’t mean anything anyway, like upvotes, downvotes or some flamewar someone wants to start about a tiny opinion of mine; I can just get up/downvoted and move on. Don’t have to be pc either because of fearing for my job if my boss reads something.
People, definitely on reddit, are behaving very different as they see they talk to someone who has nothing to lose and where they cannot expect much in return; less warmongering, less dragging on about a subject I was done with 40 comments ago and only 1-2 downvotes max where people commenting a similar opinion under a known name or handle get 50.
For me a solution to try is random usernames and changing those when you get doxxed. Nicknames or the same handles across sites won’t work.
Been that way for a few years I feel. My entire life was cutting-edge JS for 5 years straight around the trends peak. Now it's been a long time since I've come across another developer with a strong opinion about what framework/package manager/compiler should be used.
I think that was all mostly about the, very long overdue, burst of advancements in JS engines that IE was holding back for soooo long. Everyone wanted to make THE library that had the best, most efficient, DOM abstraction possible, while taking advantage of any new speed gains the competing engines would release every week. It was a pretty cool time looking back on it but, the competition in that space has stalled and what's left is good and boring enough to easily get by with on any basic project. It's still not great, but that's just how front-end dev work is.
Yeah and it’s been like that for a while. I’ve been a bit confused by people here thinking that’s still a thing in recent months. Personally I stopped caring several years ago though, so maybe I just subconsciously filter it out
Every JS framework I have ever seen hit the front page of HN was well-justified in its use-case, and contributed something meaningful to the state of the art. There are a few now and there were a few then. There was never a plague, just people who really love bemoaning plagues from positions that would not have interacted with them anyway.
React is mature. The trick is to not get distracted by shiny things. I still think the whole thing is so overblown. There’s a lot of choice, great! That doesn’t mean you can’t pretend there isn’t.
I think about this a lot. About how ChatGPT is perhaps cementing a lot incumbent tech right now. I wonder if the existence of these tools might actually slow down advances in frameworks, packages, libraries, etc...
Anecdotally the layoff wave appears to have hit design and front end more than other areas. Additionally it feels like the dev tools market, which fuelled a lot of new frameworks, is slowing down.
For the next couple of years problems will not be technical but business and marketing. No programming framework is going to help.
I'm not a fan of hooks (and the endless blog posts and opinions that hooks somehow were the invention of functional coding), but react server components did a lot of people in. The default expectations being that react frontends have a node backed isn't how much people use react.
Not a single frontend dev I know in real life has had the same negative reaction about hooks that I often see on HN.
I remember some people taking a little longer to adopt them either cause it wasn’t necessary or cause it didn’t click right away, but eventually everyone learned how to use em, and no one complains about them cause they’re just a tool you use if you use React (which is the framework of choice for most companies).
Honestly, the reaction I often see from HN around most frontend topics usually doesn’t match what the frontend and full stack devs I interact with regularly are saying. Don’t get me wrong, it’s not like we all love React and want to switch state management libraries every week; it’s that React is fine, the ecosystem is fine, and we specifically don’t use every library that comes out week after week.
I found a gut bacteria story here just the other day. Hackernews gonna hackernews.
But yeah, JS frameworks seem to have run their course. The corporate world appears to have settled on React. The new thing is, look what I did by futzing with AI.
Angular is officially deprecated, and the others are distant also-rans at this point. React Native has also almost completely taken over iOS development. Thank god we can all just agree on a baseline to work from finally.
Similar to Spring in Java, React became de-facto a standard having now a thriving ecosystem and an enormous community. This is actually probably the largest community if you compare it to any other framework or programming language out there.
All of the JS framework posts I do see are about how they don't like React. There are two kinds of frameworks, the kind people don't complain about, and the kind they use.
So it seems people mostly settled on React. They're grumpy about it but it does the job and there seems to be no alternative compelling enough to complain about.
I wonder what will be the next mindless thing related to AI on which programmers will be wasting their days reinventing the wheel every 3 months. Langchain and such?
Hey - 3 of your last 4 comments have been unsubstantive and/or flamebait and/or broke the HN guidelines. Can you please not do this? We're trying for something else here.
I understand it can be annoying to see posts you disagree with and dislike. Many people jump from that to a general image of the community as hostile to their viewpoint* - but the truth is that there's a stream of things for everyone to dislike here. That follows from the community being so large and diverse. (There's a longer explanation about this at https://news.ycombinator.com/item?id=23308098 if anyone cares.)
Fortunately most of your posts with this account have been fine, though I ran across some other recent ones that broke the site guidelines and were not ok:
jrajav|2 years ago
Many of the competitors springing up define themselves in terms of React, either as an improvement or a foil. But if you're just trying to get things done, it's hard to go wrong with it - and in a practical sense, not a "nobody got fired" sense.
square_usual|2 years ago
(Of course, even React itself has gotten fairly complex with Hooks, Suspense and the dreaded Server Components.)
austin-cheney|2 years ago
simonsarris|2 years ago
(We have no external webapps because my company, funny enough, builds a JavaScript framework!)
TechBro8615|2 years ago
I wouldn't be surprised to see some movement toward simpler but equally robust frameworks like Vue or Svelte.
hellojason|2 years ago
oliwarner|2 years ago
I contract for a few companies and everyone seems to have a different take on the industry standard.
React may well be biggest, but I don't think it's possible dominance is the reason there are fewer framework posts on HN recently.
duluca|2 years ago
dimal|2 years ago
austin-cheney|2 years ago
flying-pig|2 years ago
solarkraft|2 years ago
gardenhedge|2 years ago
geysersam|2 years ago
eyelidlessness|2 years ago
I think the reason these aren’t prominent on HN is because the community here is overwhelmingly skeptical of, if not hostile to, new developments and exploration in the FE/JS space… and because the FE/JS community knows that and is likewise reticent to subject itself to that.
That said, it is true that React is a formidable incumbent, and that quite a lot of the space has coalesced around it. I don’t think that’s set in stone, I even think there’s at least some churn coming sooner rather than later. But I don’t expect that to make huge waves on HN unless and until it’s well underway.
yxre|2 years ago
The React team has done a great job of being generic enough for a broad range of use cases. As new use-cases arise, someone can build a new framework to support it. SSR has gotten much more popular than the SPA style, and the core React team has moved to support it with server side components.
If they can continue to follow the innovators, React will continue to dominate the front end landscape.
frfl|2 years ago
dylan604|2 years ago
Tommah|2 years ago
Irrespective of the merits of React, it is sad to see the monoculture that has formed around it. I get the same kind of vibes as I did back when Java was everywhere, and comp sci graduates used to have the impression that Java = programming.
acjohnson55|2 years ago
smrtinsert|2 years ago
lloydatkinson|2 years ago
meiraleal|2 years ago
aaron695|2 years ago
[deleted]
antegamisou|2 years ago
thomasfromcdnjs|2 years ago
I've been on here for 15 years and definitely feel phases when it seems like a lull because I am personally not interested in the current hype.
Side note: A few months ago, I swear I saw about 150 different databases I had never heard of on here.
jrott|2 years ago
Uptrenda|2 years ago
getmeinrn|2 years ago
It's solved by you going to the new page, reading every submission, and upvoting the interesting ones. Incentivize that.
anonzzzies|2 years ago
People, definitely on reddit, are behaving very different as they see they talk to someone who has nothing to lose and where they cannot expect much in return; less warmongering, less dragging on about a subject I was done with 40 comments ago and only 1-2 downvotes max where people commenting a similar opinion under a known name or handle get 50.
For me a solution to try is random usernames and changing those when you get doxxed. Nicknames or the same handles across sites won’t work.
kgwxd|2 years ago
I think that was all mostly about the, very long overdue, burst of advancements in JS engines that IE was holding back for soooo long. Everyone wanted to make THE library that had the best, most efficient, DOM abstraction possible, while taking advantage of any new speed gains the competing engines would release every week. It was a pretty cool time looking back on it but, the competition in that space has stalled and what's left is good and boring enough to easily get by with on any basic project. It's still not great, but that's just how front-end dev work is.
loveparade|2 years ago
orf|2 years ago
the_only_law|2 years ago
pie_flavor|2 years ago
quickthrower2|2 years ago
Waterluvian|2 years ago
TruthWillHurt|2 years ago
They all had to go back to React for it to write code for them :D
emehex|2 years ago
readyplayernull|2 years ago
kgwxd|2 years ago
fidotron|2 years ago
For the next couple of years problems will not be technical but business and marketing. No programming framework is going to help.
robbywashere_|2 years ago
technion|2 years ago
DGCA|2 years ago
I remember some people taking a little longer to adopt them either cause it wasn’t necessary or cause it didn’t click right away, but eventually everyone learned how to use em, and no one complains about them cause they’re just a tool you use if you use React (which is the framework of choice for most companies).
Honestly, the reaction I often see from HN around most frontend topics usually doesn’t match what the frontend and full stack devs I interact with regularly are saying. Don’t get me wrong, it’s not like we all love React and want to switch state management libraries every week; it’s that React is fine, the ecosystem is fine, and we specifically don’t use every library that comes out week after week.
bitwize|2 years ago
But yeah, JS frameworks seem to have run their course. The corporate world appears to have settled on React. The new thing is, look what I did by futzing with AI.
ramesh31|2 years ago
Angular is officially deprecated, and the others are distant also-rans at this point. React Native has also almost completely taken over iOS development. Thank god we can all just agree on a baseline to work from finally.
bebop|2 years ago
hactually|2 years ago
We're using Vue here and missed the memo about it being an also run :)
Kerrick|2 years ago
hoofhearted|2 years ago
Glooply|2 years ago
duluca|2 years ago
Snark or lack of knowledge?
whynotmaybe|2 years ago
unknown|2 years ago
[deleted]
exabrial|2 years ago
Alifatisk|2 years ago
slorber|2 years ago
zachmjr|2 years ago
muzani|2 years ago
jfengel|2 years ago
So it seems people mostly settled on React. They're grumpy about it but it does the job and there seems to be no alternative compelling enough to complain about.
sharts|2 years ago
seydor|2 years ago
ChatGTP|2 years ago
bilsbie|2 years ago
Even said there were almost no cross browser issues.
nsonha|2 years ago
c-hendricks|2 years ago
JS developers: hey here's an update to a library that's been around for 8 years HN: Why are there new JS frameworks every day???
Also HN: Why aren't people posting about JavaScript here?
Edit: I'd fix the formatting but it's not worth it, HN can't bother to interpret a line break, I can't be bothered to accomodate.
dang|2 years ago
I understand it can be annoying to see posts you disagree with and dislike. Many people jump from that to a general image of the community as hostile to their viewpoint* - but the truth is that there's a stream of things for everyone to dislike here. That follows from the community being so large and diverse. (There's a longer explanation about this at https://news.ycombinator.com/item?id=23308098 if anyone cares.)
Fortunately most of your posts with this account have been fine, though I ran across some other recent ones that broke the site guidelines and were not ok:
https://news.ycombinator.com/item?id=36364904
https://news.ycombinator.com/item?id=36364823
https://news.ycombinator.com/item?id=36283716
If you wouldn't mind reviewing https://news.ycombinator.com/newsguidelines.html and taking the intended spirit of the site more to heart, we'd be grateful.
* I've been trying to persuade users about this for years, though I'm not sure it's worked much: https://hn.algolia.com/?dateRange=all&page=0&prefix=true&que...
seydor|2 years ago
hardware2win|2 years ago
spraveenitpro|2 years ago
[deleted]