Live data from Hacker News

React is winning by default and slowing innovation

lorenstew.art

601–610 of 866 posts

Re: React is winning by default and slowing innovation

#601

React isn't winning by default. It's been so effective, so well designed that it's lived long enough to become the defacto standard... and the villian. Claiming React is slowing innovation is an absolutely bonkers take when React is essentially the only sane stable choice in a sea of "me too" frameworks and libraries with conflicting and confusing design choices.

In what way React is anywhere near well designed? Look over quick starts of React and Angular, for example. One is a well structured application , the other is a spaghetti script , all held by magic and conventions. If you recall the (in)famous "PHP: a fractal of bad design", React basically ticks every box in this rant and then some. It's not surprise knowing it's origins, but still. The reasons React has got tracti…

> If you recall the (in)famous "PHP: a fractal of bad design", React basically ticks every box in this rant and then some.

I dare you to walk us through that blog post and explain to us in detail how React "basically ticks every box".

Not only does React not compare to PHP in the slightest, I also find this comparison rather wild because other web frameworks rank so much higher than React on the "quirks & arcane code you need to understand" scale. (I have PTSD from Angular and Vue in particular.)

Re: React is winning by default and slowing innovation

#602
post #427

Earlier quoted context omitted.

Yes. Innovation used to measured in gigaquacks. A decade ago. With the process improvements of 2025, if it doesn't take you an innovation pool of at least 16 petaquacks to display a webpage, are you even trying? Anyone else up downscaling their innovation?

I love boring stack. No nodejs and its dependence hell, no compilation, no frameworks that need reading encyclopedia to make a simple form :) PHP or blazing fast PHP-fpm, MySQL/MariaDB or Postgres, json for config, jQuery… it is good enough for most cases. For Netflix, Spotify, Facebook, Waze, and other heavily used sites with millions users… it is a different game.

Node.js is boring stack for me.

But instead I am asked to work with tools from the wet nightmares of React developers.

Stuff that runs in Node - yet is designed as if Node, the DOM, or the OS, didn't exist.

Now that's never boring. They can't even consider that everything might work better without their favorite tool, than with it. It's surreal. And awful.

Re: React is winning by default and slowing innovation

#603

Earlier quoted context omitted.

I'm a counter example of your claim. Migrating away from React did made the complexity of my app a lot more manageable and unlocked new business opportunities that would have been impossible with React without following the JIRA route of making the software worse for 99% of users because 1% of those needed something. The project in question is Filestash ( https://github.com/mickael-kerjean/filestash ), what made me s…

https://github.com/mickael-kerjean/filestash/blob/master/pub... All using plain strings, what happens when you do a typo? Will your app will silently break or you’ll have a compile time error? that’s a huge draw back - in react I can get a compile time error for a typo most of the time

> using plain strings, what happens when you do a typo?

The tests fails

> Will your app will silently break or you’ll have a compile time error?

There is no silent error. In practice, there are a couple fail safes:

- using both eslint and tsc: https://github.com/mickael-kerjean/filestash/blob/master/pub...

- the code is full of runtime assertions: https://github.com/mickael-kerjean/filestash/blob/1d1bad001b...

- unhandled error (like most assertion) will interrupt everything to show a scary looking screen: https://github.com/mickael-kerjean/filestash/blob/1d1bad001b...

- controlled error which are part of the regular error handling will stop the flow showing a screen like this: https://demo.filestash.app/?error=test

Re: React is winning by default and slowing innovation

#604

Earlier quoted context omitted.

Not unless you can develop an equivalent to React Native. That's the rub here: browser tech is just way slower than what can be achieved with native code. React's primary value (now) is deduping GUI development across platforms.

Not only that. My main problem with web components that you end up with a build step anyway. Not every component is interactive and relies on JS, some are just static elements (say avatar image) that you wanna render right away (but at the same time keep styles and logic scoped). Declarative shadow DOM helps, but you end up with a bunch of duplicate code in your final output, which begs the question - why am I using…

Because that was around the time they stopped developing high level APIs to focus on lower level constructs. They wanted to build the primordial ooze from which you would build ui frameworks.

But it turns out that those layers of indirection have made the web platform just another build target. It's just like how they never added optional types to JavaScript and now TypeScript is the de-facto standard.

And now I'm stuck managing layers of indirection and compiler settings and debugging in nearly the same but /slightly/ different code than what I programmed in.

Their logic is that if it can be done using a compiler or on the server side, then why bother doing it in the platform? Which is partially true: I want a compile step to optimize everything. But there is room in-between and this is often just an excuse to ignore dev UX entirely.

Re: React is winning by default and slowing innovation

#605
post #472

React isn’t just "winning by default" It's winning because at the core it's just JavaScript function composition. A component is a function, conditionals are `if (...) { ... } else { ... }`, loops are `map()`. JSX is just sugar for function calls. In Svelte you are writing XML with little JavaScript islands inside it. Instead of if you get `{#if}{:else}{/if}`. Thats not "ergonomic" – thats a mini-language stapled on…

It looks like simple JavaScript. However hooks are magic, so it's no longer simple JavaScript with simple mental model. It's completely different language.

Re: React is winning by default and slowing innovation

#607
post #540

Earlier quoted context omitted.

> 5 straightforward hooks `useEffect` is straightforward? Cloudflare recently (like, literally 4 days ago)[1] had a pretty big outage because of the improper use of `useEffect` (surprise, surprise, it was the dependency array), a hook so infamous if you search "When should I use `useEffect`" you'll get approximately 9 trillion hits, with nearly all of them telling you something different, including Dan Abramov himsel…

Well, that is really embarrassing for Cloudflare... A recursion in a side-effect via dependencies is a rookie mistake, it's hard to imagine it could slip into production with a proper due process. Maybe they should stop vibe-coding and deploying things to production without any tests or review?

[deleted]

Re: React is winning by default and slowing innovation

#608

Earlier quoted context omitted.

um....react is literally js and its not a language, you can write react with or without jsx which is just syntax sugar to make it look more like html.

“syntax sugar” means its a new language. It has a new syntax.

So Python with type definitions (syntax sugar) is a new language?

Re: React is winning by default and slowing innovation

#609
post #558

Earlier quoted context omitted.

This has never been true for me. I never end up writing any kind of internal framework. Instead I write libraries that solve specific problems and achieve code reuse, which are really either functions or data storage objects restricted to their own files. At least, that’s how I think about code universally, libraries, but specifically in the browser this comes up less because the problem space is much smaller. Really…

What code are you using to reactively render state? Or do you write all DOM manipulations manually and just accept the problem of state explosion ?

Here is an example: /lib/dashboard/dashboard_script.ts

https://github.com/prettydiff/webserver

When you aren’t using framework like components state restoration is a single function that runs only on page load. There is no state explosion and on localhost the SPA fully renders and finishes state restoration in about 105ms from http request.

Re: React is winning by default and slowing innovation

#610

Web components are the way out of this trap. Every single framework that isn't React should be wholeheartedly supporting web components to make sure that they have access to a viable ecosystem of components and utilities without having to bootstrap an entire competitor to React and it's ecosystem. While a lot of people view web components as competitors to frameworks, they don't really have to be. The just define an…

At my large corporation, we are required to use a centralized React library for internal apps. So it is not “react by default”, but instead “React is the only choice”. 100% agree that our path out is for the central library to be reimplemented as web components to open us up to using whatever framework we choose.

copilot can help with translation

"This folder contains React components. Create a new folder `components-vue`, and translate every component from React to Vue/Solid/Vanilla"

ymmv

Post reply on HN