Ask HN: Has web development really become easier than 10 years ago?
The last 20 years doing consultency, building web applications, the time spend on frontend development seems to be explodong in complexibilty. Not so much feature wise, more technology wise. There is so much noise in that end of the development pipeline that I have a hard time understanding or really seing the value.
So many web applications seems to me to be filled with too much junk (packages, bundlers etc) without really adding value.
Yeah, I came to about the same conclusion not long ago when reviewing the latest crop of frameworks at TodoMVC.com while looking for the "best" way to build new apps.
I ended up not being able to conclude what was "best" so I decided to look for the "easiest" way instead. That was a lot easier because it's a fluid approach.
While I appreciate the goals of a single page app I would never make that a requirement when designing one. I'll use it where it easily works and not when it doesn't.
There are countless ways to make an app but in the end productivity is what gets it shipped and pays the bills and the easiest way is almost always the most productive.
Right now jQuery and Bootstrap are probably the easiest way to build a front end and unless you really need something more it's hard to argue against not using them if productivity is accounted for.
That, of course, will vary with one's own experience. If you've spent the time learning how to use React or Angular you might be more productive with that, but I'm thinking probably not, or not much, in most cases. What you really may be doing is addressing efficiency issues and other problems you don't have, and possibly adding unnecessary complexity.
If your app ever gets to where it doesn't work for you because you have so many users it needs to be more efficient, then good for you, you've hit the big time and should invest in efficiencies appropriate to scale, but you may find that's not a problem, or not where the problem resides.
Software is no different than anything else when it comes to applying the "KISS" approach and the more complex the project the more important that becomes.
Certain pockets will get better, which is natural over time in the tech community.
But then as some things get routine, new things pop up or focus changes into fancy UX, etc etc.
So the net effect might be a wash in terms of hours / investment, even though things that were hard 10 years ago no longer are.
To be fair, I haven't been doing Web dev for 10 years, but I definitely agree that frontend development is incredibly time-consuming.
Especially if you're trying to build something alone, I find it really impractical.
IMO, not every Web application needs to be an SPA. Depending on the scale of your app, it might benefit you greatly (like if you're Facebook or Google, etc.), but often times you can get away just fine with server-side templating engines or otherwise.
...without really adding value
My go-to example of why build tools are essential is subresource integrity hashing. If adding a hash was a manual process every time you had to deploy a new version of a site then no developer would bother, and the user's security would suffer for it. With Webpack (or any of its peers) it's a matter of installing an NPM module and adding it to the plugins configuration. That's it. That's a huge amount of value for practically no effort. Writing new plugins is hard, but few developers ever need to do that.
I spent 3 days learning the basics of Webpack and I've never looked back. It's a fantastic tool that any modern web developer ought to know.
Well, we do things now that we didn’t used to do, like write tests :) More is expected in the way of features, not in terms of the number of features but how they work. Imagine clicking a tweet from your timeline, then pressing Back, and being taken to the top of your timeline. It wouldn’t be acceptable. But some thought and care has to be put into making that happen. Just one example but basically there are more concerns than there used to be.