Actually, let me use this as an example of how everything has gone wrong with web development in the last decade or so.
Dan Abramov is a very brilliant guy who is part of the Facebook's React team. He has been the most important name in the team working on React for years. And now, they are pushing for changes in React that would make it consume streams of data that updates the UI before the entire data request is completed, instead of just requesting the data and then 'painting' it once they get the reply for that request.
This is nuts. This is a micro optimization. 95% of the users won't ever notice, and those who do (people using extremely bad connections) would be much better if the site wasn't using React at all. At the same time, I'm sure half of the websites in the World who currently uses react will jump to implement this, making their code way more complex, brittle, sucking their productivity down, and in the long term, being worse for the users. Just for absolutely not even a short-term gain at all in their products.
Then why these kind of things keep happening? Because Facebook is too big. And somehow they ended being the ones in control of the most popular web-app framework used by most of the sites nowadays.
The state of the current Javascript ecosystem is what happens when you get companies with hundreds, thousands of engineers, to build sites that 15 years ago would have been built by 1/10th of that number of people. What you get is a lot of people working on a product that's actually mature already, and whose job end being going after that extra 1%, that last micro optimization that could make your site better in a very narrow set of cases. And they don't care about the complexity, because they are part of an engineering organization with literally thousands of hands to throw at any problem. Setting up your code bundler now takes hundreds of lines of code that need constant maintenance to achieve just a 5% improvement over gzipped plain JavaScript? No big deal, they have 6 people working full time on that. React switching to a different programming paradigm each two versions? Nice, now the 900 devs working in the web version has something to do for a few months.
But then small to medium teams adopt these tools. And suddenly you have a 5, 20, 50 devs team having to do the same work the Facebook web team does. Without any of the problems Facebook has to solve.
What's worse: a big share of the current JavaScript ecosystem exists just to solve problems introduced by the previous iterations. Think about it from a user perspective: does the web work any better, does Netflix, Facebook, twitter, tumblr, etc load faster, perform better than they did ten years ago? On the contrary, most of us have more powerful computers, phones. We have significantly faster internet connections. But sites are, at best, as fast as they used to ten years ago. In most cases they are even slower.
And from the engineer perspective it's not better: web development is significantly harder, more complex, slower nowadays that what it was ten years ago. Things that were trivial are now complex. Things that were complex still are. Product-wise, we are not doing anything more complex than what we were doing in early to mid 10s. But somehow now everything is harder, involves more code, everything is now orders of magnitude more complex. And it's not even making the web a better experience.
We made this mess. We made the web worse for everyone. We made our jobs harder for ourselves. It's so stupid.
RE: https://goblin.band/notes/9qyaoxpilruusopk
Posts
-
Actually, let me use this as an example of how everything has gone wrong with web development in the last decade or so.Dan Abramov is a very brilliant guy who is part of the Facebook's React team. He has been the most important name in the team working...