Single-Page Application - eviltoast
  • dan@upvote.au
    link
    fedilink
    arrow-up
    113
    arrow-down
    2
    ·
    edit-2
    9 months 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 (or lacks experience, which is something that’s fixable!). These have been solved problems for a long time.

    • Ephera@lemmy.mlOP
      link
      fedilink
      arrow-up
      38
      arrow-down
      3
      ·
      9 months 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
        19
        arrow-down
        10
        ·
        9 months 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

        • NotJustForMe@lemmy.ml
          link
          fedilink
          arrow-up
          10
          ·
          9 months 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
            13
            ·
            9 months 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.

        • Ephera@lemmy.mlOP
          link
          fedilink
          arrow-up
          9
          ·
          9 months 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
            7
            ·
            9 months 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
            4
            ·
            9 months 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
              3
              ·
              9 months 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. 🫠

              • llii@feddit.de
                link
                fedilink
                English
                arrow-up
                3
                ·
                9 months ago

                Ok, that’s unfortunate. But I agree, the browsers default keybindings really shouldn’t be broken it’s really annoying. I hate it when middle click doesn’t work with some web pages. 😒

                • I Cast Fist@programming.dev
                  link
                  fedilink
                  arrow-up
                  3
                  ·
                  9 months ago

                  It really sucks when they break “open link in new tab”. I then have follow the stupid link, then middle click the back button to do what they broke.

        • unalivejoy@lemm.ee
          link
          fedilink
          English
          arrow-up
          6
          ·
          9 months ago

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

    • tsonfeir@lemm.ee
      link
      fedilink
      arrow-up
      20
      ·
      9 months 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
        22
        arrow-down
        1
        ·
        9 months ago

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

        • unalivejoy@lemm.ee
          link
          fedilink
          English
          arrow-up
          3
          ·
          edit-2
          9 months ago

          Neither does vue. You need vue-router, which is required anyway to make an spa with multiple pages.

          The only thing that breaks is any component state isn’t saved. But this can be fixed by rendering <RouterView> with <KeepAlive>. How to do this is mentioned in the documentation.

          I assume it’s similar with react and react-router-dom.

        • tsonfeir@lemm.ee
          link
          fedilink
          arrow-up
          3
          arrow-down
          7
          ·
          9 months ago

          It’s one install line ffs, how is this a conversation in 2024? It’s EASY.

      • Trarmp@feddit.nl
        link
        fedilink
        arrow-up
        1
        ·
        9 months 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
          2
          ·
          9 months 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
            2
            ·
            9 months 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
              1
              arrow-down
              2
              ·
              edit-2
              9 months 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.

    • Chenzo@lemmy.world
      link
      fedilink
      English
      arrow-up
      3
      ·
      9 months ago

      If your SPA website is done correctly the end user won’t even notice and none of the bad things listed in this meme happen.