• dan@upvote.au
    link
    fedilink
    arrow-up
    7
    ·
    1 year ago

    Anyone that builds a SPA and breaks opening in new tab or history caching and back/forward nav isn’t a good frontend developer. These have been solved problems for a long time.

    • Ephera@lemmy.mlOP
      link
      fedilink
      arrow-up
      3
      ·
      1 year ago

      I mean, for sure, and this meme isn’t trying to say that all SPAs are bad. But defaults matter, even for experts.

      This meme was inspired after I had to use an SPA, which among those points in the meme, also broke using Alt+Left to navigate back. The normal back-button worked (even if it then had to load for ten seconds to re-display static content).

      Which is just a typical example to me. You don’t even need much expertise to figure out why Alt+Left is broken. But you have to think of testing Alt+Left, because it’s broken by default.

      • The Octonaut@mander.xyz
        link
        fedilink
        arrow-up
        0
        arrow-down
        1
        ·
        1 year ago

        My friend I’ve been using the Internet for 27 years and developing for it for most of that time and I can promise you I’ve never once hit Alt+Left

        • Ephera@lemmy.mlOP
          link
          fedilink
          arrow-up
          2
          ·
          1 year ago

          Yeah, I have no trouble believing that. It took quite a while before I learned of this shortcut and when I did, I was wondering why I would ever want to use it.

          But I generally work from my laptop these days, without an external mouse connected, so reaching from my touchpad, the Left key is right there.

          • Halosheep@lemm.ee
            link
            fedilink
            arrow-up
            1
            ·
            1 year ago

            Your reason for using it was exactly my question. “I have a mouse with a built in back button, why would I want to remove my hand from my mouse and navigate with the arrow key?”

            But your reason simply makes sense.

          • llii@feddit.de
            link
            fedilink
            arrow-up
            1
            ·
            1 year ago

            You can probably go back by swiping two fingers to the right on the touchpad. Maybe it depends on the OS and browser.

            • Ephera@lemmy.mlOP
              link
              fedilink
              arrow-up
              1
              ·
              1 year ago

              Yeah, that works on my personal laptop, but not yet on my work laptop, because they insist on preinstalling an old, buggy OS. If that did work everywhere, I would probably be using that, but not breaking Alt+Left for whoever needs/wants it, would still be nice. 🫠

        • unalivejoy@lemm.ee
          link
          fedilink
          English
          arrow-up
          1
          ·
          1 year ago

          I started using alt+left when browsers started removing backspace. It was for the best.

        • NotJustForMe@lemmy.ml
          link
          fedilink
          arrow-up
          1
          ·
          1 year ago

          I have never heard of alt+left, and I’ve been using the Internet since Mosaic was all the rage. Shame on me, it seems to be implemented in all browsers. How could I have missed it?

          • Ephera@lemmy.mlOP
            link
            fedilink
            arrow-up
            1
            ·
            1 year ago

            It’s even implemented in many file managers and text editors and such. Pretty much the standard shortcut for navigating history. But yeah, hilariously it’s somehow also a rather well-kept secret.

    • TherouxSonfeir@lemm.ee
      link
      fedilink
      arrow-up
      1
      ·
      1 year ago

      I’m guessing they aren’t using Vue, React, or similar, and they’re rolling their own for some reason.

      • dan@upvote.au
        link
        fedilink
        arrow-up
        1
        ·
        1 year ago

        React doesn’t handle any of this stuff out-of-the-box; it’s just a UI library.

      • Trarmp@feddit.nl
        link
        fedilink
        arrow-up
        0
        ·
        1 year ago

        I maintain a couple of Wordpress installations for clients, where new link targets are the same page, as you’d expect.

        They still, somehow, manually check “link opens in new tab”. I don’t know why some of these boomers are allowed to use computers, I swear.

        • toastal@lemmy.ml
          link
          fedilink
          English
          arrow-up
          1
          ·
          1 year ago

          If you manage the WordPress installation, can’t you disable the ability or create/install a plugin that removes that ability? This hurts usability.

          • Trarmp@feddit.nl
            link
            fedilink
            arrow-up
            1
            ·
            1 year ago

            I could, good point. I do disable plugins for clients so they can’t beat up their own website too much.

            Still, there are legitimate uses for opening a site in a new tab; e.g. when it’s an external website. I don’t think I should automate that, since there’s a granularity in there.

            • toastal@lemmy.ml
              link
              fedilink
              arrow-up
              0
              arrow-down
              1
              ·
              edit-2
              1 year ago

              legitimate uses for opening a site in a new tab; e.g. when it’s an external website

              This is not a legitimate use—this breaks the default user agent behavior & completely removes the autonomy of opening in the current window (there are tons of ways to open in a new tab/window). Consider rechecking the article linked higher up the thread tree.

    • xthexder@l.sw0.com
      link
      fedilink
      arrow-up
      0
      ·
      1 year ago

      Welcome to our homepage! We have implemented the navigation menu in Adobe Flash Player to maximize your audio visual experience.

  • andrew@lemmy.stuart.fun
    link
    fedilink
    English
    arrow-up
    4
    ·
    1 year ago

    These things are true if you build a SPA wrong. Believe it or not there are lots of ways to build server side rendered pages wrong too.

      • Ephera@lemmy.mlOP
        link
        fedilink
        arrow-up
        2
        ·
        1 year ago

        I don’t know what the hell you’re interpreting into this 15-word-meme, but I do. I’m not saying all SPAs are shit, I’m saying far too many are. And “far too many” being more than one that I can think of. Even the Lemmy webpage breaks history caching.

  • rwhitisissle@lemmy.ml
    link
    fedilink
    arrow-up
    2
    ·
    1 year ago

    HTMX is great and is the only frontend development tool I don’t absolutely loathe. It enables lightweight SPA development, and provides a very simple and efficient mechanism for doing HTML over the wire.

  • toastal@lemmy.ml
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 year ago

    What some folks are missing is that SPAs are great for web applications & unsuitable for web pages. There is more nuance than “SPA bad”.

    Then dealing with a lot of dynamic content, piping thru a virtual DOM DSL is 100× nicer for a developer than having to manually manipulate the DOM or hand write XML where it’s easy to forget all the closing tags (XML is better as a interchange format IMO & amazing when you need extensibility… also JSX just makes it worse). That developer experience (DX) often can lead to faster iteration & less bugs even with a cost to the user experience (UX). But it’s not always a negative impact to the UX–SPAs can be used to keep things like a video or music player on while still browser & using the URL bar as a state reference to easy send links to others or remember your own state.

    It’s equally silly that a landing page whose primary purpose is to inform users of content takes 40s to load & shows “This applications requires JavaScript” to the TUI browser users & web crawlers/search indexers that don’t have the scale of Google to be executing JavaScript in headless browser just to see what a site has to say.

    The trick is knowing how & when to draw these lines as there’s even a spectrum within the two extremes for progressive enhancement. React isn’t the solution to everything. Neither is static sites. Nor HTMX. Nor LiveView. Nor Next/Nuxt/Náxt/Nüxt/Nœxt/Nอxt.

      • EpicVision@monero.town
        link
        fedilink
        arrow-up
        1
        ·
        1 year ago

        Sure, but I don’t want to. SPAs are nice, but I also try to include a JS-free fallback solution that is loaded when the client doesn’t support Javascript. I think this is the best approach to web development. A good example for this is LocalMonero’s No-JS mode. You can use the toggle in the upper-left corner to disable all Javascript on the website, and it will still have most features. I love it.