• @[email protected]
    link
    fedilink
    6310 months ago

    SPAs are mostly garbage, and the internet has been irreparably damaged by lazy devs chasing trends just to building simple sites with overly complicated fe frameworks.

    90% of the internet actually should just be rendered server side with a bit of js for interactivity. JQuery was fine at the time, Javascript is better now and Alpinejs is actually awesome. Nowadays, REST w/HTMX and HATEOAS is the most productive, painless and enjoyable web development can get. Minimal dependencies, tiny file sizes, fast and simple.

    Unless your web site needs to work offline (it probably doesn’t), or it has to manage client state for dozen/hundreds of data points (e.g. Google Maps), you don’t need a SPA. If your site only needs to track minimal state, just use a good SSR web framework (Rails, asp.net, Django, whatever).

    • GaveUp [she/her]
      link
      fedilink
      English
      710 months ago

      Preferring server side rendering is an interesting topic

      Client side renderering is currently the preference because the company gets to offload the compute costs of their servers onto the clients’ devices

      As long as every website has a profit motive, even if it’s just a single person trying to save some money on their AWS bills, server side rendering will never become the norm

      • @[email protected]
        link
        fedilink
        1210 months ago

        The difference between generating JSON and generating HTML is minimal for the server, doesn’t seem to me like server side rendered sites have significantly higher server compute costs. Also generally for SPAs, the server has to replicate whatever flow is happening on the client anyway to keep state in line (since the client can’t be trusted)

        • NekuSoul
          link
          fedilink
          1
          edit-2
          10 months ago

          The difference between generating JSON and generating HTML is minimal for the server

          That should be true, but have you looked the HTML of any “modern” site? Dozens of nested elements, each tagged with multiple lines of attributes. Generating that is probably 10x the cost of generating the JSON.

          Plus, with server side rendering you also have to recompute the HTML for the entire site, which often means re-computing a whole bunch of non-trivial queries as well.

          • @[email protected]
            link
            fedilink
            110 months ago

            Plus, with server side rendering you also have to recompute the HTML for the entire site, which often means re-computing a whole bunch of non-trivial queries as well.

            This is actually why I really like HTMX, you load a page once, then make AJAX requests that return html which you can use to replace or add to the DOM. It provides an interactive front end where the backend provides full rendered html partials. Simplifies the entire application by keeping logic and state only on the server, which means you never have to worry about synchronizing front-end and backed state.

        • GaveUp [she/her]
          link
          fedilink
          English
          110 months ago

          It’s not just JSON and HTML. There’s also graphic rendering and even machine learning models

    • @[email protected]
      link
      fedilink
      410 months ago

      I do a lot of PHP, so naturally my small projects are PHP. I use a framework called Laravel, and while it is possible to use SPAs or other kinds of shit, I usually choose pure SS rendering with a little bit of VueJS to make some parts reactive. Other than that, it is usually, just pure HTML forms for submitting data. And it works really well.

      Yeah yeah, they push the Livewire shit, which I absolutely hate and think is a bad idea, but nobody is forcing me, so that’s nice.

    • @[email protected]
      link
      fedilink
      310 months ago

      I’m still hoping for browsers to become some kind of open standard application environments and web apps to become actual apps running on this environment.

      • @[email protected]
        link
        fedilink
        210 months ago

        How are browser not that already? What’s missing?

        They are an open standard and used to make many thousands of apps.

        • @[email protected]
          link
          fedilink
          110 months ago

          I’m thinking more along the line of ubiquitous offline first PWAs. Imagine google doc running offline in a browser and being able to edit local docs directly. I guess secure file system access is one of the major road blocks, though I’m not sure of the challenges associated with coming up with a standard for this.

    • @[email protected]
      link
      fedilink
      110 months ago

      Actual hot take, Blazor is awesome, it is like Microsoft looked into ASP.NET Forms, ASP.NET MVC and Razor, and bundled it to one quick framework to do simple WebApps.

      • @[email protected]
        link
        fedilink
        210 months ago

        Counter hot take, I do actually like Blazor but it has limitations due to how immature web assembly still is. It also does not solve the problem of being a big complex platform that isn’t needed for small simple apps. Of the half dozen projects I’ve written in Blazor, I’d personally re-write 3 or so in just Razor Pages with Htmx.

        • @[email protected]
          link
          fedilink
          210 months ago

          Server-side works better, webassembly and fat client on general imo aren’t worth it. It’s benefits require millions of users.