You shouldn't focus on learning JavaScript frameworks
JavaScript frameworks are incredibly hot right now. You've probably heard of the most popular two: Angular and React. They can really help speed up the development process and they do a good job of separating responsibilities in the code. So why shou...
hashnode.com
Interesting outlook, mirrors some of my thoughts on the subject, other parts not so much.
I've come at frameworks with a negative viewpoint simply because on the front end, I have found them to universally be rubbish. The reason I find them to be rubbish is their ignoring good practices, ignoring the HTML/CSS specifications, ignoring why HTML and CSS are separate from each-other, and in general feeling like they were written by people who never learned enough about HTML or CSS to be telling others how to build websites.
... and in some ways that's exactly the problem you highlighted when you said:
As the problem runs deeper than that. They never learn enough of the languages underneath to even form a valid opinion on if the framework is actually easier, better, or even if the result is something you should consider deploying!
The back-end frameworks are a little better in this regard, but so much of what they do is bloated, slow, and the antithesis of anything I would consider to be good practice in web development. So much of it violates accessibility norms, uses JavaScript client-side for things that are none of JavaScript's business, and on the whole make people work harder, not smarter.
That's why so many of the examples and comparisons end up 'card stacked' like cut-rate propaganda and why -- to me at least -- the 'cultures' that develop around these frameworks have more in common with Jonestown than they do any sort of business or engineering environment. The outright cultism of them uses all the propaganda techniques to promote outright lies about what they do, what they are, and what they are good for.
Particularly given how quickly any real dissent in their "communities" gets stamped out with an iron fist.
Which is where a lot of my negative attitude towards them comes from. I had to learn enough about them to figure out what they were doing, what they were doing wrong, and fix it for clients who some other developer saddled up, took for a ride, then ran for the hills never to be seen again once they got paid.
Hence:
... my experience -- particularly the past 5 years -- has been ripping them out of websites and applications where what they do was negatively impacting accessibility, creating slowdowns, making sites harder to maintain, expand, or scale, and in general stamping them out of existence for clients who are even more sick of seeing them than I am.
It's part of why I often use words like "scam" or "con" in relation to frameworks, as in my experience that's really all they are. They dupe people into thinking that it's easy, thinking that it's good, and when things go wrong thanks to cognitive dissonance of that initial impression it isn't until things go completely bits-up face-down that they're even willing to consider that maybe, just maybe the framework was at fault.
It's somewhat akin to Apple owners, and how they'll believe it whenever Apple says you're using it wrong. Oh, it's not a laptop, it's a macbook, you're not supposed to actually use it on your lap. Oh it's a macbook pro, you shouldn't be using the i9 version to edit videos, one of the top tasks people wanted a i9 macBook to do.
Because people are told these things are "easier" they believe it, even when they lack the experience, knowledge, or exposure to different things to form a rational opinion on the topic... and once people truly believe something, it's nigh impossible to convince them the opposite is true.
It's why -- to quote Rufus, the 13th apostle -- I prefer to have ideas. Changing a belief is hard, it's easy to change an idea. Hence if you show me something built with one of these frameworks that isn't a overly complex hot wet sticky mess with accessibility issues galore, I'll change my mind.
Until then all this talk of how "easy" they are, and how much "faster' they let you develop? and how they "help" with collaboration? No... I've seen zero real world evidence to back up those claims compared to just writing the code normally if you bother learning the underlying language first.
Though to be fair, so much of what people do with these frameworks are things I would advise clients never to do in the first place!