Comment by austin-cheney

Comment by austin-cheney 3 hours ago

11 replies

Strong disagree. Web Components are react in different clothing. You don’t need this component-based framework style architecture to write applications for the browser.

I promise writing applications for the browsers is not challenging. You don’t need big frameworks or component madness that’s more of the same.

onion2k 2 hours ago

You don’t need big frameworks or component madness that’s more of the same.

You don't, but in any sufficiently complex app you'll end up writing a sort of 'mini framework' of your own as you abstract all the things that crop up more than a few times. That framework might be really nice at the start but it'll get more and more hacky as the project continues, especially if you're constrained by resources. Eventually you'll regret not using something standard.

If there are more than a couple of developers on the project it'll be something no one really likes after a year or two.

If there are more junior developers it'll be a reason for them to want to get off the team because they won't want to be a part of the 'old legacy code'. Then it'll be hard to find people who want to join.

Eventually, as it gets harder to recruit people to the team because it's on a weird, legacy framework that no one knows, there'll be a big project to refactor it on to something more standard. That'll probably be React. At the same time most of the senior developers will be calling to scrap the codebase entirely and rebuild it (wrongly in almost every case, but they don't care and want a greenfield project to play with new things on.)

This is a story that has played out at every large org that builds apps internally, and probably a lot of startups as they mature and need to hire more devs. You might as well skip all of it and use a standard framework from the start.

WA 7 minutes ago

React made reactivity popular. Web components don’t give you reactivity. You still tell the UI how to update based on state changes imperatively and that is annoying as hell.

If you want reactivity in web components, you need a wrapper or another framework/small library.

daveidol 3 hours ago

Sure you can make a blog without a framework. But for complex applications it’s far better/easier than raw DOM manipulation or rolling your own thing.

  • austin-cheney 3 hours ago

    I disagree. It’s actually the same effort either way, but one of those costs substantially more to maintain and performs far slower.

    • adastra22 2 hours ago

      It is not obvious to me which one you are talking about.

  • netbioserror 3 hours ago

    We should probably be making widget toolkits for the Canvas and using WebSockets for communication. DOM manipulation is a total hack-job. It's somewhat flexible, but the performance and dark-pattern cost is just too great. If you're making an interactive application, then treat it like an application and draw widgets to a canvas.

    • ioseph 2 hours ago

      This is an insane take, show me a responsive button with hover state and a tooltip implemented in the canvas that outperforms a button rendered with React.

    • christophilus 3 hours ago

      Accessibility suffers with that approach.

      • extra88 2 hours ago

        It doesn't just suffer it's impossible unless you recreate the whole thing with actual HTML behind the <canvas> rendered version.

afavour an hour ago

> I promise writing applications for the browsers is not challenging.

Yeah it is. I don’t like React but I’ve been doing this since the days of MooTools all the way through Backbone to the libraries we have today. Once your app reaches a certain size and/or reaches a critical mass of contributors it does get challenging and modern frameworks reduce that challenge.

That can be taken way too far. Almost every time I’ve worked with Redux I’ve found it infuriatingly unnecessary. And React is far from the best framework out there. But it is a huge benefit all the same.

ahdanggit 3 hours ago

HARD AGREE!

It just takes the minimal amount of discipline, and some conventions. I know it can be done because I did it, lots of people did it just a few years ago (some of those apps are STILL running today.)