I personally hate them with a passion. However, I feel they are also mandatory. I cannot seem to wrap my head around them no matter what.
It’s hip and happening, so kinda hard not to.
Yes and no. You are not obligated to use them if your project is simple or if the requirements of a freelance project aren’t big (or isn’t API-first) you can get away with just jQuery (trust me, in my country it’s still alive and well).
But, it’s been a while that companies evolved to React/Vue/Angular since it’s pretty much a great environment for complex frontend web apps that require them to be reactive, fast and easier to orchestrate UI events and single-page architectures.
Github published a great blog post on how they moved from JQuery to their new technology: vanilla js.
I find it a great resource because they argument and motivate each decision they made along the way.
To me, the takeaway is: frameworks are tools, as such they have to serve a purpose.
Usually this tools are created to solve a specific(s) issue(s).
Are they mandatory? Maybe not
Are they useful? Of course, otherwise they would not have been made in the first place.
Not everyone is using a framework (although they are extremely common and only growing), but it’s going to be pretty rare not to use any libraries.
I hated using a framework for awhile. Even wondered what was the point if I can just do all of this in Vanilla JS.
But then I started a more serious project and decided to give Vue a try, it had been the only one I hadn’t tried prior, and found that I enjoyed using it instead. Once I had a better understanding of how Vue worked and seen how much easier it was using a framework I tried React again and found that I enjoyed it as well.
Github is hardly a great example of consistent UI behavior. If they ever address this problem, then I lay heavy odds on them either adopting a framework or inventing their own.