You're not stupid for using a framework, and nobody has pulled a fast one on you. https://seldo.com/posts/the_case_for_frameworks
The case for frameworks

Today I read Alex Russell's post The Market for Lemons and I found myself compelled to write a rebuttal. I am a big fan of Alex's work in general but not of this post in particular, which is very long, so allow me to attempt to summarize it

@seldo economics indeed but the changing storyline is also well documented (yes that's grifting!)

And also ppl need to know how HTML/etc work in order to use React not the other way around.

@brianleroux I do not think everybody is using React because Guillermo is just really, really persuasive.
@seldo I didn't say that did I?!
@brianleroux I just don't think any grifting is involved. People are choosing what works for them.
@seldo well they're definitely being deliberately misleading to a large audience of less experienced devs (not just one individual either) and to me that's not professional behavior whether it works for them or not. Which, given the outcomes esp in performance and a11y: not working actually. Not an opinion these are all super well documented claims.
@brianleroux I just don't believe it. I don't think they're being deliberately misleading. I don't think devs, experienced or otherwise, are being misled. The outcomes in performance and accessibility are unfortunate by-products of capitalism and not because people are dumb.
@seldo I don't think anyone is dumb given how long it's been going on they definitely are aware of the outcomes. Like nobody is using the Nintendo eStore or Home Depot or any of the other innumerable bad web experiences we all suffer daily thinking "wow this great professional work". They absolutely know the outputs are garbage and they sell it as otherwise usually justified by the lie it's necessary because it's popular.
@brianleroux Again, I simply do not believe any of that is true. The people who produce those web experiences are doing the best they can with the resources they have and are not justifying it because it's popular, they know it's the best they can do in the time they've been given to do it and the number of colleagues they have. I don't need to assume ill intent to explain what I'm seeing.

@seldo I'm not blaming devs and agree ppl are doing the best they can w the information they've got. They are being mislead, again that's clearly documented, and it's way past time we stop excusing unprofessional outputs.

It's ok to expect better, and do better by web consumers and creators alike.

@brianleroux @seldo yeah, I'm with Laurie on this. It's not just new devs, and not just people lacking information.
For example, I have been making websites and using JavaScript as long as anyone. I have written brutal hacks jquery was too heavy for msie users on dialup. And I usually choose react for all new web projects, because my time is more valuable than the users lost, especially at the start when a project just needs to be proven out by some usage asap.
@brianleroux @seldo imo too often this is framed as a binary "react vs no frameworks", when really there ARE ways to use react more responsibly in the middle ground, which we as a community need to be advocating for more. A remix site carefully built using progressive enhancement is only slightly more/different work than a typical SPA approach, and fairly easy to transition to from a more bloated browser-only approach. That needs to be taught in bootcamps etc. imo
@brianleroux @seldo but even then, if the first rev of an app is faster to put in front of people as a bloated pile of onClick events that doesn't work at all until js is loaded? That's the correct economic choice a lot of the time. That's how I built https://model.tier.run and frankly I'm glad I didn't spend time optimizing for low power/network devices from the start, because it would've been more work and largely wasted effort.
Tier.run Model Builder

@isaacs @brianleroux @seldo that's the thing a lot of bigwig devs don't understand. So many small companies are likely not to exist in 12 months. Speed to market is essential. Many don't have the time or resources to bikeshed over perf. Validating product market fit means you shouldn't premature optimize.
@blittle @isaacs @seldo I'm way faster without the abstractions and build tooling getting in the way personally. to each their own oc! premature optimization would be thinking you need an abstraction for, arguably, one of the most straight fwd/ accessible parts (html!)
@brianleroux @isaacs @seldo yeah, that's the thing though, the devs at a small company are going to build the best they can with the technology they know well. Which is why react wins. More devs are proficient in react than alternatives. But that will change over time IMO.
@blittle @isaacs @seldo imo you need to know html, css and js to write react…not the other way 'round
@brianleroux @blittle @seldo this whole conversation is just a giant pile of "it depends". It depends on what you're building. You need to know a hell of a lot less about css and dom and JavaScript intricacies make quite a lot of fancy widget type things with react and some off the shelf component modules than you would to do the same thing with standard browser apis.
@isaacs @blittle @seldo for sure. your proficiency for building a web app depends on your proficiency with web technologies. and that might be aided by an abstraction but by no means is essential complexity.

@brianleroux @blittle @seldo and it depends on what your web app is, how far it strays from "show content" into "do stuff in the browser", etc.

"Don't use a backhoe when all you need is a shovel" is good advice, but so is "Don't use a shovel when you need a backhoe".

@isaacs @blittle @seldo yeah I am just a fan of doing the simplest thing that could work as a sensible default not a immutable edict !
@brianleroux @isaacs @blittle @seldo I'm with seldo, I don't see sinister intent with framework folks, but will add an observation that it's easy to forget how effective plain HTML/CSS can be. I find we pull out tailwind or something and then later go wtf I just needed a single CSS file of globals with like 10 styles.. boom done! You kinda forget it's already a pretty nice DRY setup without adding a bunch of tooling. Next.js is pretty rad, though. πŸ˜…
@mmayo @isaacs @blittle @seldo not sinister but def an evolving story without much awareness about what they previously said/did (which was directly toxic to some of us). whether ignorant or deliberate: not a good look.
@mmayo @brianleroux @isaacs @seldo this isn't just a framework thing either. At Salesforce, I remember debating that you don't need a couple hundred web components to render an interaction free privacy policy page.
@blittle @mmayo @isaacs @seldo fwiw, just to be clear, I'm a fan of frameworks, have contributed to many, and even work on some of them now. I take issue with unprofessional conduct and artifacts.