1. 33
    1. 24

      every other week, there’s a shiny new JS framework trying to “fix” things by reinventing some kind of wheel.

      You know what else is boring? This tired old trope! When can it die? Could it die now, please?

      1. 16

        Been confused by that for years. I remember learning React in 2015 felt like it took a few months to get my head around. It’s been by far the dominant front end technology ever since and the ROI on those few months has been almost too good to quantify.

        This whole idea that you have to learn a million frameworks to do front end reads like social media addiction to me. The front end influencer ecosystem will always be hyping some new thing because they’re algorithmically incentivized to produce a constant stream of new content and engage as many people as possible. I suspect a lot of people spend so much time on Twitter that they mistake it for the actual industry.

        1. 7

          React has changed a lot since 2015. From createElement to classes to functional components to hooks, there’s been a lot of churn in terms of the React APIs, not to mention the whole state management ecosystem.

          1. 8

            “Churn” might not be the best term, given that class components and createElement still exist, and given that hooks were first introduced six years ago.

            The state management ecosystem has had more changes, but I believe all the major tools are still fairly active. Redux and MobX still exist, and are reasonably popular. I’m not sure how often they’ve made breaking changes, but my impression is that new MobX code looks very similar to old code, and the changes in Redux have mainly been about keeping the same internals but reducing the boilerplate needed to use them. So I think you can

            The biggest churn is the rise of “full-stack frameworks” or “metaframeworks” like NextJS. In all fairness, here the word “churn” makes a lot more sense, and I would generally recommend avoiding these sorts of things unless you’re very confident you need them (i.e. must have good SSR and must use a full frontend web framework). But React itself, alongside Angular and Vue, have been fairly stable for a while now.

            Where new frameworks do pop up, they tend not to produce churn for the average developer, and are more experiments that can be absorbed into other projects. For example, SolidJS and Svelte are both interesting new frameworks from the last few years that try new things, but if you’re a Vue developer, you’ll find over the next few releases that most of those innovations will get merged into Vue, without you needing to do anything.

            1. 3

              “Churn” was uncharitable, sorry :). I agree especially about new frameworks. I think experimentation is a good thing, and rarely does it affect one’s day job. I think it’s ultimately good that React has reinvented its core API a few times to strive for something better.

            2. 3

              I mean, it’s backwards compatible and hooks themselves were released in 2019, providing a very small surface area. Hell, there are react-clones only supporting a hook-like API that are very tiny.

              Though part of the reason is that react is really just a library, not a whole framework and there is a bigger churn around the ‘react+other libs together forming a framework’, but even that seems to have chilled down considerably. The last hype cycle was around SSR I guess, and that’s not recent either.

              1. 4

                I didn’t mean to imply that it created backwards compatibility issues, it’s more like there’s been multiple shifts over the years in what the best practices are for working with the library. I don’t think this is necessarily a bad thing, but it required developers to keep up to date with new practices, learning React wasn’t a one-and-done thing if you started from the early times.

                1. 3

                  Fair enough, though I only wanted to point out that hooks have been here for a long time (5 years is long in this career) now.

                  1. 2

                    It’s a good point, and it does seem that it’s settled down, so to speak.

          2. 7

            You know what else is boring? This tired old trope!

            Confirming again my statement that this industry runs on folklore.

            1. 4

              Maybe the trope stops being repeated once it stops being true?

              1. 6

                React has been the dominant framework for years.

                1. 3

                  Even within the world of React, there are new frameworks popping up all the time, with Next seemingly being the current hype.

                  1. 2

                    React isn’t a framework, as they say on their homepage. The frameworks currently recommended by React are Next.js, Remix, Gatsby, and (for native) Expo. Remix is only 2-3 years old and both have some drama (Remix is about to be absorbed into React, apparently, and Gatsby got acquired by Netlify). Given there are recent articles about “The Battle of the React Frameworks” it seems like it’s not that boring.

                    Of course once you’ve chosen a framework you get to enjoy the continual churn in build tools…

                    [edited to fix inaccurate Gatsby age]

                    1. 1

                      Gatsby

                      is way older than 2-3 years, I remember people talking about it at events in 2017? (although it had a different focus back then)

                      1. 1

                        Quite right, I mistakenly didn’t look all the way back to version 1.

                      2. 1

                        Let’s not forget the new kid Astro.

                  2. 2

                    The word “trope” doesn’t mean “incorrect”, but it seems like that is what you meant to communicate? Could you elaborate about why you think the author’s perception is incorrect, or if not, what goes wrong when someone brings it up?

                    1. 9

                      I should have added “incorrect“, thanks for pointing that out!

                      As for why it’s wrong: well it’s always been an exaggeration. But while there may have been some truth to it 15 years ago, the industry has long since (ie for 10 years) settled around a handful of frameworks, of which obviously React is the big one.

                      For why it’s problematic: this trope is often used in a smug way or mocking way, putting down the people who work with JS; if only they had the wisdom of their betters who work mostly in other languages! It never makes a conversation or opinion better, just worse.

                      Also, I don’t get why having many options in a language is a bad thing. There are multiple mature and well-maintained JS frameworks, isn’t having choice good for developers?

                      1. 2

                        In case of Hotwire/Stimulus, you get the impression that these are frameworks made by people who hate JavaScript. I much prefer Alpine because it embraces JS instead of making up their own worse DSL to JS stuff.

                    2. 1

                      The trope’s details are inaccurate, i.e the “every other day|week|month” element of it. But it exists for a reason.

                      I feel like the trope really came to life after the left-pad fiasco [1]. That incident left a lot of developers with the feeling that something was a bit different with how Javascript developers solved problems. How did a single-function package become so pervasive that its removal from NPM caused mass disruptions? Something was off, and I think that’s what the trope is about. Other language ecosystems (I often hear developers refer to the “JS ecosystem” in proximity ot the trope) seem to solve the same problems with fewer frameworks.

                      The trope’s feeling is argulably sound. React is the dominant UI framework, but there’s a very long list of runners-up.

                      The trope probably won’t die any time soon. Notice above I use phrases like “seem to solve” and “feeling is arguably sound”. I’m not making concrete statements for a reason; I don’t think I know exactly why the trope has legs. I’ve anecdoatally been been in many conversations where I was left with the feeling that there’s something to the trope, based on a lot of developers’ opinions that I value.

                      [1] https://en.wikipedia.org/wiki/Npm_left-pad_incident

                    3. 2

                      It’s still kind of “exciting” compared to just sending (likely deflated) HTML over HTTP(S).

                      1. 1

                        Relevant classic: Rails is f*cking boring! I love it.

                        That sexist comment in the Reddit post is a good reminder of why I stay here and not there…