DEV Community 👩‍💻👨‍💻

Kevin
Kevin

Posted on

The Case Against JS Frameworks.

Gotcha! This will not likely be the grand debate you are looking for. I think I will make some form of point or observation though. Maybe.

Oh, and first post. Long time lurker, etc.

Before I joined the Client Apps team, Jesse over in Internal Systems started modernizing the ye old webforms app using a Handlebars variant.

Me, I brought in 10 years of JS experience, love, and my Homebrew JS and jQuery plugin system. You could almost call it a framework...but it's not, more of a pattern. I jumped right in that heap of webforms and started flying on all sorts of new projects!

About six months in, we had a meeting to discuss what Frameworks we should be using. I'm like, "okay, good teams agree on their architecture. I'm game." I presented AngularJS as my personal choice, having tinkered in it before. That was rejected, but only because Bob, a former employee, had thrown together some projects with KnockoutJS, before leaving the company. So we did that.

But it really isn't an arcitecture, more of a tool. So I kept busting out projects with my personal system, making incremental improvements. Actually removed jQuery at the appropriate time (es5).

I am productive. Dangerously so. It's hard to beat my numbers. I am the one folks go to when they need something fast and quality. I am not ego-tripping, only making this point because...

While every team is discussing what framework they are going to use, on top of other existing frameworks, and competing with other teams' framework choices, I just cruise along with my well-documented and proven coding patterns.

What's weird is no one ever asks me about using it officially. At least they do borrow code/pattern/style. Just like I do from every bit of code I browse.

I think I promised a point of some kind. Learn to love JavaScript. Don't be afraid of it. Stop trying to find a framework that will hide the implementation and do things for you. One day you'll realize that you don't need the 3000 ton hammer to build that drop-down widget.

Wait, nowhere in the post did I actually imply any of that. Oh well!

Yawns bedtime I think... Let me publish this right before bed. That always tends to work out without any drama.

Top comments (2)

Collapse
 
deathshadow60 profile image
deathshadow60

One day you'll realize that you don't need the 3000 ton hammer to build that drop-down widget.

You might even realize that 99% of the heavy lifting for a dropdown probably isn't even JavaScript's flipping job any time after IE7 was released... and certainly not JS' business.

But as I've said for over a decade, EVERYTHING I've ever seen done with JS frameworks like jQuery falls into one of three categories.

  1. Things that would be less code vanilla, NOT counting the size of the framework against it.
  2. Things that are none of JavaScript's flipping business.
  3. Things that have ZERO blasted business on a website if you care in the slightest about accessibility, usability, sustainability, or efficiency!

Hence why I consider even more complex JS frameworks to be incompetent trash. Angular, React, Vue -- train wreck laundry lists of how NOT to work with HTML or CSS, poster children for everything wrong with modern development, and how to take the simplest of tasks and make them many, MANY times harder to do.

Part of why it's so infuriating when people sing their praises talking about how much "easier" or "better for collaboration" this nonsense is, when every fact if you know the first blasted thing about the underlying language makes said claims nothing more than bald faced LIES!

Though it could be worse, we could be talking HTML/CSS frameworks like bootcrap or W3.css where it is painfully obvious its CREATORS and maintainers don't know enough about HTML or CSS to write either, much less tell others how to do so.

Collapse
 
kmwill23 profile image
Kevin Author

when every fact if you know the first blasted thing about the underlying language makes said claims nothing more than bald faced LIES!

For posterity. JavaScript is beautiful. CSS is beautiful. Everyone go love them!

🤯

"I made 10x faster JSON.stringify() functions, even type safe"

☝️ Must read for JS devs