(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.

code of conduct - report abuse