The web didn't change; you did
remysharp.com
remysharp.com
I'm a recent CS graduate. In my final year's project, I was working on a website using PHP on the backend. My advisor told me that I would fail if I didn't use anything "more advanced", so I had to learn and work on Laravel.
After college, I applied for a lot of jobs as a web developer, and every single on of them requested that I learn one or more front-end frameworks. I always show them some websites I made with pure HTML5-CSS-JS on the front end, and they seem to like them, but when they learn that no flashy framework was used, their tone changes.
So yeah, unless someone is able to rely entirely on freelancing or launching a startup, there are reasons stopping me from not using frameworks.
- xss protection - responsive to phone sizes - i18n - ect, ect, ect
But more to the point I currently work on a SPA that did not use a framework when it was created by the original developer, and what you end up with is a homegrown undocumented unsupported insecure mess.
Internationalisation is a useful feature of frameworks, but the other two aren't really.
Whenever I point out The Productivity Gap, people say, "Oh but now you have more choice!" True, but that choice has a dear cost. At many orgs too few use apps on phones such that catering to different screen sizes is a wasted effort. Maybe some end users need phone screens, but the operators and clerks behind the data generally don't.
I believe we need CRUD-friendly web standards, and more who are willing to say "no" to bloating stacks for every what-if. YAGNI still matters. Modern web stacks shot YAGNI in the back.
For browser incompatibilities we used to have to hand write CSS. We now can use normalizers and autoprefixer on build, including reading from a browserslist file, so it only includes what's necessary. Same thing for JS; instead of including a dozen hand written polyfills, babel-preset-env will only include what I actually need for the same browser target list.
People complain that now we need a while bundler, and that's correct, but it's a needed step. In reality, the easy things might have got a bit more complicated because you need an organized build instead of just a simple HTML, but the difficult things got way easier. And I'm ok with that.
There's (still) plenty of that out there. But this was literally the reason why the MVC paradigm was brought in to web dev from the GUI/windows (lower case w) world
Of course the web has changed, someone of us have been around to remember the web before javascript. Before flash, before frameworks.
take this same argument an apply it to cars, sure you could get rid of fuel injection, automatic transmissions, airbags, seat belts, crumble zones, differentials, etc...
But who would want that car, could it remotely compete with modern cars?
I think you'll find the answer is both the same.
Trends have changed and so have my preferences. It’s the same primitives but we’re allowed to change.