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

      You ever notice how everything installs and uninstalls super cleanly and easily these days and software gets consistent regular updates?

      That’s because developers stopped min/maxing storage and started bundling all of an application’s dependencies with it instead of trying to rely on globally installed packages and frameworks that can break or be missing or lead to dependency hell.

      No one likes larger download sizes and more storage being used but the tradeoff is by and large worth it.

      • Otter@lemmy.ca
        link
        fedilink
        English
        arrow-up
        3
        ·
        1 year ago

        Isn’t this about performance and not storage?

        Making and managing an electron app is easier, but it is possible (with more work) to have clean install/uninstall, a nice UI, and consistent regular updates while still being fast and efficient.

        Better programs will always need more work to create.

        I am curious about what other options there are, and why Electron is what a lot of people go with.

        • AnonymousDeity@sh.itjust.works
          link
          fedilink
          arrow-up
          2
          ·
          1 year ago

          People choose Electron because they already know how to write Chromium apps (web dev). It’s really just ease of development, using another framework takes more specialized skills than using Electron.

          That’s why everything is Chromium these days.

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

          Options:

          Native app for each platform:

          • Pros: native code is going to be the fastest possible to run and have the smallest dependencies
          • Cons: have to write all your code 3+ times in different languages, have less time to develop new features and optimize existing code.

          Progressive Web App:

          • Pros: single app, write once runs anywhere, no signing keys, no lock in, can be hosted anywhere, runs on everything
          • Cons: artificially limited by Apple on iOS, doesn’t have access to deep operating system resources, only what’s exposed through the browser, limited multithreading capabilities

          React Native:

          • Pros: single app, write once, runs anywhere, similar enough to React Web that a lot of developers will have an easy time learning it
          • Cons: still kinda finnicky, not super easy to make it work and perform well across all platforms, you’ll probably still end up having to write some native code, not actually CSS / React Web so still a bit of a learning curve coming from there

          Qt:

          • Pros: single app, write once, runs anywhere, low level / compiled means that it will be small and performant
          • Cons: written in C++, harder to find developers for, harder to implement modern out of the box niceties that CSS gives you for free, poor devX compared to react

          .NET MAUI (formerly Xamarin):

          • Pros: single app, write once, runs anywhere, low level / compiled enough to be more performant than most web apps out of the box, well documented
          • Cons: written in C#, easier to find devs for but not many experts in it specifically, MVVM model is not as pleasant of a devX as React, again no css

          Electron:

          • Pros: single app, write once, runs anywhere, has full access to operating system resources and deep multithreading if needed, can be as simple as web app in a container or as complex as something like VSCode.
          • Cons: takes up more storage and ram since you’re bundling chromium with your app
          • aksdb@feddit.de
            link
            fedilink
            arrow-up
            1
            ·
            1 year ago

            Flutter is quite nice too. Closer to web dev, but still pretty close to native.

      • RaivoKulli@sopuli.xyz
        link
        fedilink
        arrow-up
        1
        ·
        1 year ago

        You ever notice how everything installs and uninstalls super cleanly and easily these days and software gets consistent regular updates?

        Not really. Well maybe I take it for granted having switched to Linux.

        I mostly hate Electron for the dumb RAM usage.

      • master5o1@lemmy.nz
        link
        fedilink
        arrow-up
        1
        arrow-down
        1
        ·
        1 year ago

        Pretty sure that’s more about a switch from physical distribution where storage is expensive (CDs) to digital where it’s cheap.

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

      For now at least, PWAs work on Android and I believe many apps already use electron or something similar under the hood

          • smileyhead@discuss.tchncs.de
            link
            fedilink
            arrow-up
            1
            ·
            1 year ago

            Inspect any major website, you’ll see boilerplate of <div><div><div><div> and unreadable pile of JavaScript programs your browser need to run to build the website. Sites should be done in a way that is still readable after you disable one element (for example disable CSS function, scripts or HTML specific tag).

            Internet is modular, based on stacked protocols. Want to fit Tor between TCP and HTTP? No problem. Web is also like that, build of semi-independent formats, in theory. But in practice devs are using frameworks that assume Chrome, Firefox and Safari are and would ever be the only things existing. Now if you want to develop new browser you not only need to display HTML and add other things later. You need to get all specifications of all standards working right away or sites would spectacularly break.</div></div></div></div>

            • TehPers@beehaw.org
              link
              fedilink
              English
              arrow-up
              2
              ·
              1 year ago

              It’s a bit of a shame that HTML went from describing documents to describing UIs. I do miss the days of simple websites, although I’m not old enough to remember the old old internet.

    • Blackmist@feddit.uk
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      What else works across as many platforms and screen sizes as well as the combination of HTML/CSS/JS?

      Most attempts to build that just lead to a worse version of it.

      I’ll be the first to admit it’s bloated to all hell after 25 years of people stacking crap on top of more crap, and it’s perilously close to being completely controlled by Google, but it is what it is.

      • smileyhead@discuss.tchncs.de
        link
        fedilink
        arrow-up
        1
        ·
        edit-2
        1 year ago

        Maybe I do not specify clearly what I mean.

        Why to order taxi, access bank, register a domain name do we have to have apps on all platforms and then to fix this problem we bloat the web by creating webapps. Why not just plain simple HTML website beautified with CSS instead?

        Real cross-platform apps are those written in, for example QT. Then came Android and iOS forcing everyone to use their toolkits so we started to abuse poor web.

        • Blackmist@feddit.uk
          link
          fedilink
          English
          arrow-up
          1
          ·
          1 year ago

          Well I’m in agreement there.

          The only reason they want everything as an app is so they can push notifications and do any tracking they can legally get away with (and some they can’t but who’s gonna know?)

          Dominos have locked all their deals that actually make a pizza a normal price that humans would willingly pay for a pizza behind their app. There’s no reason for them to do this. Surely their business model is selling pizza? So now I go to a little family run pizza shop, pay less and get decent pizza.

  • amigan@lemmy.dynatron.me
    link
    fedilink
    English
    arrow-up
    2
    ·
    1 year ago

    It seems every new shiny technology today tries its darndest to short-circuit 40+ years of advances in OS virtual memory design. Between Electron and Docker, the entire idea of loading an image into memory once and sharing its pages among hundreds of processes is basically dead. But at least there’s lower support burden!!!1111

  • Elise@beehaw.org
    link
    fedilink
    arrow-up
    2
    ·
    1 year ago

    Tja in a world where every OS has its own stupid little UI system, language and IDE…

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

      Yeah, then we can have marginally more responsive web apps.

      Seriously though, web apps are usually just optimized like shit in addition to using chrome.

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

        Do you know what this even is? It’s not marginal at all. Check the comparisons of Tauri and Electron. And it does not use Chrome. Electron also doesn’t use Chrome.

  • haruki@programming.dev
    link
    fedilink
    arrow-up
    1
    ·
    edit-2
    1 year ago

    Well, people tend to pick the easiest way to achieve an objective, even though the solution is not simple nor optimised.

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

    Folks in this thread complaining about Electron I think miss the point. It is a trade-off. It is designed to allow engineers who have a web dev skillset to write desktop apps. For those like me who want to write the occasional hobby app - it’s great. It’s also great for orgs to be able to have cross functional teams. Just like React Native allows this for the mobile world. This could be because they’re small and can’t afford specialist native engineers for each platform they want to support - or it could be that they want to spend their money in other areas and happy to trade off app performance. If it was as lean or as performant as native apps there would be a lot of people in this thread looking for work.

    • Xusontha@ls.buckodr.inkOP
      link
      fedilink
      arrow-up
      1
      ·
      1 year ago

      It’s not terrible, electron is good for stuff like what you discuss

      I just like native apps better haha

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

        Native apps have the potential to be better than electron apps for sure. I get that.

        This is a surface level thing though - the question is: would THIS app, written by THAT organisation be better if it was native? Unlikely because they don’t have the skillset for it…otherwise it would have been a native app. Its also likely that less apps would even exist because the barrier to entry is higher without electron and similar.

        But this is just a meme and I’m taking this way too seriously!

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

    Wouldn’t it be great if there was a way for all these electron apps to share the same runtime so people don’t have to bundle it with their applications.

    You know, I bet if the applications without the runtime are small enough, you could probably stream them directly from the internet without even downloading anything up front!

    I guess that shared runtime would need some way to browse the applications…

    ^(vscode gets a pass)

    • xavier666@lemm.ee
      link
      fedilink
      English
      arrow-up
      3
      arrow-down
      1
      ·
      1 year ago

      This is the same coping mechanism as “just build another 4 lane highway. That should solve the traffic issues”. You are just shifting the problem.

          • lowleveldata@programming.dev
            link
            fedilink
            arrow-up
            1
            ·
            1 year ago

            I don’t know much about car traffics but I don’t see how adding more RAM to solve the problem of not having enough RAM is a poor solution

            • PixxlMan@lemmy.world
              link
              fedilink
              arrow-up
              0
              arrow-down
              1
              ·
              1 year ago

              The idea is that increasing road capacity will increase demand and basically make traffic as bas again and similarly “just add more ram”-ing will just lead to developers using less memory efficient practices leading the same situation down the line.

              • lowleveldata@programming.dev
                link
                fedilink
                arrow-up
                1
                ·
                1 year ago

                Which is a flaw logic as it implies

                1. The RAM capacity of any PC is a publicly available information like the road capacity; AND
                2. Electron app developers are checking info of 1. (if it’s somehow available) to decide how they optimize their app. Which doesn’t seems reasonable as electron apps are not games and thus not expected to use 100% RAM.
                • PixxlMan@lemmy.world
                  link
                  fedilink
                  arrow-up
                  0
                  arrow-down
                  1
                  ·
                  1 year ago

                  Of course the average amount of ram in computers isn’t some secret. What are you on about? It’s only thanks to the fact that we have gigabytes of ram these days that inefficient practices are possible. If developers didn’t know that, they would have no idea that was possible. How on earth do you think developers would ever optimise software and determine their performance requirements if specs were unknown? I’m not saying they’re snooping on YOU individually (although there’s a ton of telemetry these days everywhere and ram is probably a common statistic collected by software - Steam’s hardware survey is public and shows millions of computer’s specs. Any software you use knows your ram capacity - it’s not secret. The ram capacity of newly sold systems is public is obviously shown on spec sheets)…

        • wols@lemm.ee
          link
          fedilink
          arrow-up
          0
          arrow-down
          1
          ·
          1 year ago

          The point is that you’re not fixing the problem, you’re just masking it (and one could even argue enabling it).

          The same way adding another 4 lane highway doesn’t fix traffic long term (increasing highway throughput leads to more people leads to more cars leads to congestion all over again) simply adding more RAM is only a temporary solution.

          Developers use the excuse of people having access to more RAM as justification to produce more and more bloated software. In 5 years you’ll likely struggle even with 32GiB, because everything uses more.
          That’s not sustainable, and it’s not necessary.

          • lowleveldata@programming.dev
            link
            fedilink
            arrow-up
            0
            ·
            1 year ago

            The same way adding another 4 lane highway doesn’t fix traffic long term (increasing highway throughput leads to more people leads to more cars leads to congestion all over again) simply adding more RAM is only a temporary solution.

            How is adding more RAM a temporary solution? It would lead more workload to the CPU… which is good?

            • MyFairJulia@lemmy.world
              link
              fedilink
              arrow-up
              0
              arrow-down
              1
              ·
              1 year ago
              1. People have enough RAM.
              2. Developers see people getting more RAM.
              3. Developers allow their software to use more RAM (either by doing more cool stuff or optimizing less stuff).
              4. People have little RAM.
              5. People buy more RAM.
              6. goto 1;

              This also applies to CPU and GPU.

    • Xusontha@ls.buckodr.inkOP
      link
      fedilink
      arrow-up
      1
      ·
      1 year ago

      I got 32 on my desktop so I’m fine there, but my laptop explodes if I try to run the same amount of stuff with 8GB ram

  • masterspace@lemmy.ca
    link
    fedilink
    English
    arrow-up
    1
    arrow-down
    1
    ·
    1 year ago

    Electron is awesome, badly coded apps just suck. Look at Voyager for Lemmy, it’s great and it’s just a web app.