Hacker News new | ask | show | jobs
by caipira 970 days ago
As an old web developer myself, that surfed pretty much all the waves (No JS, just a Perl or PHP monolith, then JS with XMLHTTPRequest, jQuery, Backbone, Ember, WebPack, Angular 1 and finally React) this argument doesn't make sense. No, there isn't a new JS framework every minute. No, you don't need to learn a new thing everyday. There's really only 4 framerworks (React, Vue, Angular & Svelte, in this order), they pretty much do the same thing (Replace explicitness with declarativiness) and the only thing that changes is how you use them (Which you can learn in less than a week if you're a experienced developer).

The way we do stuff today is just a better and improved way to do the same thing we used to do yesterday, the fact that we have so much tooling is just a reflection of the fact that the web was created to serve documents and now we need to serve apps, so we need transformers along the way that allow for that 100% change of scope. But we aren't changing the base (HTML/CSS/JS, which we should), just the wrappers on top of it.

5 comments

The problem in the past was primary browser incompatibility. That was why jQuery exists and was so successfull. Different render output with different css settings was an other problem. But, thank god, since IE dies, this problems are solved for 99% of all use cases.
I got into a web development a few years ago, and I am so... what would should I use? Almost euphoric that I never had to learn to work around IE6 or Internet Explorer in general; that web browsers mostly support the same feature set now (shame on Safari for still not supporting Ogg, and on Edge for not supporting AVIF), and ECMAScript 6 being widely available is a blessing.
In 2006, tech decisions were easy: shall I use jQuery or Prototype.js? PHP or ASP? Postgres or MySQL?

Nowadays, after the long decision process to go serverless I choose Cloudflare from the 13 best serverless frameworks and VueJS from the 30 frameworks they support.

So I choose SPA from the four ways to deploy VueJS. I chose TS over JS. SFCs thank you very much. Setup syntax please! Composition over options all the way.

I'm in the promised land! Types! Components! No server admin! No DB admin! Let's actually make something!

Trouble is, 18 months down the line, the commercial charts library I wanted to use is pretty much unusable with this setup. I've been through about eight dropdown menu libraries. How many person-hours were wasted with abandoned vuejs dropdown menus I wonder!?

It's been easier to write a desktop application to do the same thing in about two months.

Right? Web development is orders of magnitude easier today than it was 20 years ago. We've standardized the web apis, we've standardized identity management and how to federate that management, we've standardized site interoperability, we've standardized site security - really, about the only choice you have now is which major framework do you want to use? And none of the above is still a choice.

Things are much, much easier today and work better for our customers. A true win-win.

I could almost agree, but for at least one aspect: 90% or more of today's SPA web apps are just glorified information pages, that do not need any React, Vue, Angular or Svelte. That is where the hype train shows. They could just as well be way simpler in design, and avoid having to reimplement (through a dependency or not) the back button. Many cases for actually multi page apps, that are needlessly implemented as SPA with additional router BS and tons of dependencies and a heavy framework, rather than simply going for server side rendered template and being done with it. This comes mostly pushed by frontend developers, who want their shiny framework of choice to be relevant everywhere. A job guarantee.
Your argument is sound but it does not support your conclusion; react native is an example of “changing the base”. It is missing a significant chunk of HTML and CSS as an implementation detail. It is not an improvement, and I treat it as evidence that approach will not yield an improvement.
The whole thread is about web development though, React Native is not web development. It's app development in React/JS, there are similarities but it's definitely not web development
> There's really only 4 framerworks (React, Vue, Angular & Svelte, in this order), they pretty much do the same thing

For me it looks there are only 4 frameworks in that category. htmx in my eyes feels like a welcomed step back from those. Closer to what we used to do before (server-side html generation and such), but with a small twist. I have not really used it, but React etc. never felt good fit for me, personally.