If historians ever write about software development in the 2010’s, the main discussion point will have to be the mess caused by JavaScript and competing JavaScript frameworks. The chart from Google trends shows how each year a different JavaScript framework was the ‘best framework to use’:

The reason this happened is they are all inferior. A JavaScript framework itself is a tool to try to cover up the deficiencies of JavaScript, a language that had developers grasping for a tool that would help. With frameworks came helper packages to help deploy frameworks, leading to a huge conglomeration of various packages needed to write front end software to run in a web browser.
The legacy of this mess will be with us for years. React is currently the winning framework (if you use Google search trends as a guide), and so new applications will more likely be written in React than the other frameworks. Thus, the pool of experienced developers with these older frameworks will shrink, making it more difficult to maintain these applications written just a few years ago. And no developer will want to put Vue or AngularJS on their resume when React is what is in demand at the moment, further weakening support for the older frameworks.
Granted many developers who know one framework know others, but the pressure will be one to translate, or rewrite an application from one framework to another. And that effort is expensive. Given that the business rules have likely changed since the original app was written in the mid 2010’s – it’s likely a new app in the current framework will be written from scratch. The good news I guess is since these apps only had a useful life of say 5 years, they will be easier to rewrite – but it won’t make the business person paying the bill feel any better.
Here is where I bring up Blazor – my favorite development tool of the day. While everybody is still writing apps using React – I think Blazor will be the ultimate winner. Its a much simpler, elegant, and efficient front end than any JavaScript framework can build. Remember – JavaScript frameworks are built on JavaScript, an un-typed, interpreted language. Blazor is a binary in WebAssembly using C#, allowing full stack developers to work in the same language from the front end to the server.
It’s still early days for Blazor, as the chart above shows. But I am confident that Blazor will be the winner, and I am currently writing all new apps using Blazor. Unfortunately for the business world, I expect in a few years I will be fielding lots of requests to rewrite very young React applications in Blazor.