DEV Community

Discussion on: Redux - Not Dead Yet!

Collapse
 
ben profile image
Ben Halpern

Really great post Mark. It's amazing how frenzied people can become sometimes. As someone who was involved in React before Redux and used it a bit but then moved away from JS entirely for a while, I was amazed that when I got more engaged in this world that some people didn't even realize you could user React without Redux. And frankly I had to check that I hadn't missed something myself.

I'm curious though how you think about the lifespan of something like Redux compared to other projects. Backend frameworks seem to stick around forever. What do you think typically shortens the lifespan of frontend frameworks and glue-libraries? Is it innovation, mania, or simply a natural part of the domain?

Client build tools also have a tendency to be short lived or are susceptible to the consistent rumors of their demise.

Collapse
 
markerikson profile image
Mark Erikson • Edited

(Caveat: I barely know what I'm talking about here :) )

Well, backend frameworks come and go some too :) About a year and a half ago, I did a talk on the evolution of web dev technologies, and one of the slides had a timeline of new frameworks and toolkits. It's a mixture of front-end and back-end stuff, but there's a fair amount of churn on both sides :)

I think building client-side apps is uniquely complex in a lot of ways. Browser differences, the limitations of JS as a platform, and the constraints of downloading the entire app every time you load a page make building web apps that work for a large diverse userbase pretty difficult (something I'm sure you've seen for yourself building Dev.to ).

Besides, it's not just web apps. For fun, try counting the number of UI frameworks and data access frameworks Microsoft has put out, or look at the ways that programming on Linux has changed over the years (and all the cruft that's built up as a result). And really, there's a lot of parallels there. An autoconf.sh is basically like Modernizr or a babel-preset-env, and Webpack+Babel are basically a compiler and linker.

I think the biggest factors are a combination of:

  • The broad availability of the web making it a desired target for developers
  • The simultaneous rapid improvement in browser capabilities and fragmentation in browser versions in use
  • The web development community experiencing accelerated evolution as we get up to speed tool-wise and language-wise with what native development has had for years.

TL;DR: everyone's figuring it out as we go, and ideas are rapidly cross-pollinating.

I do think that React and Redux are a sort of "local maxima". They're not perfect, but they give you a whole lot better approach than most of what's come before. For something to really displace them, it'll have to be noticeably better in a lot of ways.