This article has been republished from flippedcoding.com
For example, Angular works with components and each component can have its own HTML, CSS, and TypeScript files. What most people overlook in the beginning is that you still have to know how to write the code for those files even if they come pre-loaded from a template.
want to throw my computer out the window love it. Anybody using React or any of the others?
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:
The problem is that many people start learning web development within a framework and when you take them out of the one they know, it's really hard for them to shift gears
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!
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.
... 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!
Hashnode is a friendly and inclusive dev community.
Come jump on the bandwagon!
💬 Ask programming questions without being judged
🧠 Stay in the loop and grow your knowledge
🍕 More than 500K developers share programming wisdom here
❤️ Support the growing dev community!