I learned “pure” JS back in 2013, when HTML5 was brand new, and I still don’t get most of the stuff going on nowadays.

  • floofloof@lemmy.ca
    link
    fedilink
    English
    arrow-up
    23
    ·
    edit-2
    1 year ago

    I work on a large code base that was built in .NET 4 with a lot of jQuery for the front end. We’re modernizing it, but it’s very slow work. A significant part of the work is improving the organization of scripts, of which there are thousands. We’re not even prioritizing getting rid of jQuery, because it works. To rewrite all the stuff that works, instead of focusing on structural matters, dependency management, maintainability and security, would be insane. (And that’s just the JS bits, on top of which there’s all the legacy .NET stuff to do.) We aim to get it into a state that will leave it working and maintainable in future without excessive effort.

    Sometimes I wonder who these people are who always promote this year’s library or framework, then next year promote something newer. Do they work in real companies with real applications under heavy use? Have they ever had to maintain a codebase that was written more than 6 months ago? Or do they just build proofs of concept and small apps and pontificate a lot, then move on to the next job before things get serious?

    • fidodo@lemm.ee
      link
      fedilink
      English
      arrow-up
      7
      ·
      edit-2
      1 year ago

      We did a full rewrite of our site years ago going from backbone to react and TS. We just did it page by page, clean sweep on each page, all new work done on a fresh slate with the old code base being abandoned page by page but otherwise left alone until all the pages were migrated at which point we could just completely drop the old code base. We’re so much more productive now and happy working on the code base. Refactors are much easier than before as well.

      I’ve worked on massive jQuery code bases before and they turn into worthless spaghetti code in no time at all. Dynamically altering html with no source of truth is the worst pattern you could have on a frontend. I have a ton of respect for what the jQuery library introduced but it was never a framework and was used in a terrible patchwork way. I wouldn’t even bother trying to save any of it. Clean split and keep that codebase tightly quarantined behind lock and key and don’t let it even touch the new code base. The spaghetti code it creates is like a virus.

      • floofloof@lemmy.ca
        link
        fedilink
        English
        arrow-up
        2
        ·
        1 year ago

        Yeah that would be great to do but we are very underresourced so the technical debt just keeps building up.

    • joel_anderson@lemmy.world
      link
      fedilink
      English
      arrow-up
      6
      ·
      1 year ago

      I work on marketing websites which are essentially disposable. So every 3 years you start over from scratch (in a new version of some CMS). So I don’t get to build super cool functionality much, but I do get to work with newer tech stack. (I still don’t need 99.99% of the js frameworks flavors of the week)

      • floofloof@lemmy.ca
        link
        fedilink
        English
        arrow-up
        4
        ·
        edit-2
        1 year ago

        That makes sense. If you’re pumping out websites it’s quite a different situation from developing large applications that need to run for many years. Same if you’re developing lots of little apps.

  • delirium@lemmy.world
    link
    fedilink
    English
    arrow-up
    13
    arrow-down
    1
    ·
    1 year ago

    Always confused when I see memes like this

    You learn js, then you learn a bit about ts and pick react/vue if you want to do frontend or nodejs if you’re into backend. Then you do something basic, like a barebones twitter clone, weather app, etc. By the point when you’re 80% done, you will know most important parts of the ecosystem naturally

    After that, learning all the supporting libraries/frameworks is super simple since next is just superset around react, same for nuxt. Solid, svelte, fresh etc are just different flavors of react. Even vue is looking like react this days with composition api, simply because they nailed the simplicity and dev comfort. Average dev will never face weird js/ts parts or confusing libraries because most of their day to day job will be moving buttons and looking how to persist user basket in browser storage…

    Sure there are a lot of libraries and ways to do stuff, but 90% of them are irrelevant, only-for-hobby or simply dead and unused since 2010. Knowing ts+(react|vue)+(vuex|redux-tk|mobx)+(styled|tailwind) will land someone a basic job where they can progress and expand their knowledge lol

    • I Cast Fist@programming.devOP
      link
      fedilink
      English
      arrow-up
      11
      arrow-down
      3
      ·
      1 year ago

      The joke is that nearly everything these libraries/frameworks do is complicate what used to be simple

      • delirium@lemmy.world
        link
        fedilink
        English
        arrow-up
        5
        arrow-down
        1
        ·
        1 year ago

        All these things are solving different problems and you absolutely don’t have to use them if they complicate your current workflow.

        I can’t imagine making a high interval trading app, things like notion or figma without modern libraries.

        jQuery only gets you so far before you will wake up in unmaintainable hell where your team has to re-invent the wheel

        • I Cast Fist@programming.devOP
          link
          fedilink
          English
          arrow-up
          8
          arrow-down
          2
          ·
          1 year ago

          You don’t need any of that, not even jquery, to display static content, or even to make a decent commerce page (shopping, booking, tickets). I would wager the vast majority of the internet does not need to work like Figma or Notion (or old timey chatrooms, for that matter), with real time changes being sent to all connected sessions.

          • Thinker@lemmy.world
            link
            fedilink
            English
            arrow-up
            1
            arrow-down
            4
            ·
            1 year ago

            Yes, that is true. But actually it’s more than that: you don’t need a dev to display static content or a decent commerce page anymore. Square space and it’s competitors give more options at a better value to the layman than devs using PHP or jQuery could hope to these days. We have the simple websites, so frameworks very specifically target productivity and maintainability for complex web apps.

      • Thinker@lemmy.world
        link
        fedilink
        English
        arrow-up
        2
        arrow-down
        5
        ·
        edit-2
        1 year ago

        This is not true. The higher complexity of frameworks is unarguable, but it reflects the higher complexity of modern web apps. The reality is that React/Vue/Svelte achieve things that are simply infeasible with e.g. the LAMP stack or jQuery.

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

      What happened was, up until the early 2010s a lot of frontend developers were essentially designers who could write HTML/CSS templates, but not programs. When the industry shifted to client side SPAs they couldn’t follow, so there was a big backlash against the new “complicated” tooling, even though it’s no more complicated than any other domain.

      I always wanted to write a response post, “How it feels to learn JavaScript in 1996”. Because yes, webpack is harder than flat JS files. But you have 1 billion tutorial videos to help you do it, and open source project skeletons to start you off, and Q&A sites to fix your problems for you.

      Some of us learned JS before YouTube or StackOverflow or even W3Schools existed. When I got my first job browsers didn’t even have developer tools! If your code didn’t work you just had to guess why!

    • gornius@lemmy.world
      link
      fedilink
      arrow-up
      1
      ·
      edit-2
      1 year ago

      I tried to learn React, but it was unnatural for me, but then senior front dev at my workplace suggested Vue. I remember Vue’s options api being too weird to even try it.

      Then I discovered there’s composition api and fell in love with it. React’s flow without its weird quirks.

      I think Svelte is next step towards feeling as natural as possible.

    • snowe@programming.dev
      link
      fedilink
      English
      arrow-up
      6
      ·
      1 year ago

      That second article is hilarious. It’s trying to point out that the first article is over complicating things then doing the same thing except the author thinks it’s not complicated what they’re saying when it’s actually insane.

  • allywilson@sopuli.xyz
    link
    fedilink
    English
    arrow-up
    3
    ·
    1 year ago

    I learned JavaScript waaaay back when from this book. I used to carry that around in my rucksack at high school :-\

  • JoeKrogan@lemmy.world
    link
    fedilink
    English
    arrow-up
    2
    ·
    1 year ago

    By the time you get around to learning a js framework the next one is out or they have broken api compatibility between versions . Not to mention the mess that is supply chain attacks with everything pulling in the kitchen sink.