Hacker News new | ask | show | jobs
by flucivja 1963 days ago
I don't understand these kind of posts that 10 years back was frontend development easier. What is stopping people to use HTML, CSS, vanilla JS, or with jQuery these days? Nobody is forcing us to use React, TS on every project we do. Feel free to use jQuery if you think its the best tool for your project. All these technologies are just tools and you decide what tool you choose to get work done ;).
9 comments

You're usually not the one deciding which stack to use and evem when you are, if you don't use the latest shiny framework and put it on your CV, you're not getting your next job.

A big problem is also support by libraries. Back in the day, you could find dozens of libraries to do what you wanted and they worked regardless of your stack because it was all JS anyways (the exception were jQuery plugins, but jQuery is pretty good about not fighting native APIs, so you could still integrate those even if you weren't using jQuery elsewhere). These days, it's pretty hard to find modern libraries that just give you a CDN URL and an init function - most don't even build shippable sources because they expect you to use webpack or whatever, not to mention, that you can find the exact same component ported to Vue, React, Angular etc. but very rarely also to "native DOM", for lack of a better term.

I don't think that's realistic for the majority of front-end developers working at companies. Even for freelancers the client will often have existing tech in place or a preference.
For personal projects of course, we can do whatever we want. But I don't make a living with personal projects. I do that by working for a company 8 hours mon-fri, and there I am not in charge of the tech stack used.
Good thing too because otherwise these retro hipster devs would block every new feature with the excuse "Its not possible to do that without reloading the page in raw html"
Having your site work with "raw html" pays off several times over in my opinion, even if you completely ignore people who actually turn off Javascript:

- Page navigation becomes easier if you know the server can handle any route you throw at it as a launch point.

- You can get by with cheaper end-to-end tests for critical flows by not using Javascript in your test suite (although you should be careful to use it when it's important)

- You get a degree of protection if something does go wrong on the front end that you get a non-JS experience to fall back to.

- Pages that genuinely don't need Javascript (think like simple CRUD forms) don't have to pay the SPA tax.

Thats true. But I guess for big project there was a reason to choose some framework. Usually with big projects without any framework you would end up with your own custom framework anyway to speed up development and it would cause onboarding new team members would be harder. But sometimes this is also necessary, look at FB, they built React because they needed it and later it was adopted by community and other companies. Its realy just about what your project needs. Btw. with backend development its same or maybe worse. There are as many languages and frameworks for backend development as stars on the sky :D.
Absolutely! The article conflates hobbyist and professional web development. Having a play as a teenager in your free time? By all means, use single html, css and js file. With javascript modules, it's much nicer these days than it used to be in 2007 anyway. Working on a project in a company? You probably want all the guiding rails that package managers, type checking or bundling will give you anyway. Frameworks? With web components, you might not need them.
This. But, I would extend it to say that if you are solo dev it may also make sense to just use base JS to get stuff out quicker. If you have a team, then frameworks start making more sense b/c it extends best practices farther into the app.
One of the problems I've seen is when your manager/client/executive has heard of docker/AWS/k8s/React/SPA/thecloud/etc and the specification for the new system says it must use docker/AWS/k8s/React/SPA/thecloud/etc regardless of whether it's even vaguely appropriate.
Part of being a good engineer is pushing back when clients and managers start making bad engineering decisions.
Also part of being a good engineer is working well on a team, and if fashion dictates that everyone uses overly complex SPA apps, you're not going to be successful being the lone voice fighting against current trends.
> All these technologies are just tools and you decide what tool you choose to get work done

Setting priorities is hard and developers want to try new shiny stuff for fun and also to feel up-to-date.

It usually goes like this, some developers pitch framework X, promising to improve metric Y. In the process many parts of the system change, making it incredibly hard to validate the improvement on metric Y. There's also lack of incentives to validate tech choices. On the other hand being familiar with many frameworks makes some devs feel more senior compared to their colleagues or competition.

Backend development suffers from this as well, you'll be surprised to learn how many nano-scale companies, employing a handful of developers practice buzzword-driven development, with a stack consisting of microservices, Kafka, NoSQL, lambdas.

That may be true in isolated cases but I don't think that wide-scale adoption of these technologies is some form of mass hysteria. I think it is because they solve real problems. I am not really a fan of the modern JS ecosystem for a variety of reasons but building stuff in React seems infinitely easier to me than writing plain HTML/CSS. I'm sure if you cut your teeth writing HTML/CSS (I didn't, have mostly been a backend developer) then you don't need to fancy new tools, but I hear an echo of "why does anyone need a garbage collector?" or "why use C when you can just write in assembler?" in these sorts of comments.
There's nothing stopping anyone using simple straightforward project setup, but you don't see them complaining here because there is nothing to complain about.
What’s forcing people to use these frameworks is compatibility with the rest of the world. It’s like an arms race where if you don’t use typescript, you can’t use the library you want because they do. And so on and so forth. It’s like wanting to stay on Ubuntu 12, with only security fixes. You can’t because whatever else you need to install requires Ubuntu 16, etc etc.
Management hires by heuristic, people are cargo culting. Those are two reasons I can think of why you have to use React/TS on everything atm. Unless you're building your own project not at work of course.

My own project is in C++ :) Not that it makes anything easier, but I'm not OP, just a full-stack web dev, so ... :P