Electron is a widely hated framework on Linux, but what about the alternatives like Neutralinojs?

In their own words: In Electron and NWjs, you have to install Node.js and hundreds of dependency libraries. Embedded Chromium and Node.js make simple apps bloaty — in most scenarios, framework weights more than your app source. Neutralinojs offers a lightweight and portable SDK which is an alternative for Electron and NW.js. Neutralinojs doesn’t bundle Chromium and uses the existing web browser library in the operating system (Eg: gtk-webkit2 on Linux). Neutralinojs implements a secure WebSocket connection for native operations and embeds a static web server to serve the web content. Also, it offers a built-in JavaScript client library for developers.

Do you experience alternatives like Njs to blend more in the desktop layout, install less junk, use less memory, are more compatible with Wayland,…?

  • moreeni
    link
    fedilink
    arrow-up
    21
    arrow-down
    1
    ·
    7 months ago

    Qt and Electron are different technologies that achieve somewhat different goals

    • intelisense
      link
      fedilink
      arrow-up
      15
      ·
      7 months ago

      Yet the telegram client is written in Qt and has great cross-platform support.

      • jbk@discuss.tchncs.de
        link
        fedilink
        arrow-up
        4
        ·
        7 months ago

        They have like 3 different, official codebases and clients (and so many 3rd party ones) for so many platforms. No other app I know of is like that, not really a great example imo

    • bizdelnick@lemmy.ml
      link
      fedilink
      arrow-up
      7
      arrow-down
      4
      ·
      7 months ago

      Qt and Electron are different technologies

      Yes.

      that achieve somewhat different goals

      No.

      • moreeni
        link
        fedilink
        arrow-up
        5
        ·
        7 months ago

        You can’t get a website working as a “native” application with Qt, which is exactly what is Electron’s goal.

        • nyan@sh.itjust.works
          link
          fedilink
          arrow-up
          13
          arrow-down
          4
          ·
          7 months ago

          Which is why Electron reminds me of a little kid who’s just done some extremely difficult but utterlly pointless thing.

          Websites belong in a browser. If it doesn’t work in any random standards-compliant browser, then you should be delivering it as a true native application, not some horrific fiji-mermaid-esque hybrid.

          • moreeni
            link
            fedilink
            arrow-up
            5
            arrow-down
            2
            ·
            edit-2
            7 months ago

            You are talking as if all people can make a native app with the same knowledge and amount of effort as it would take to develop a website.

            Sometimes, web developers would want to go further with their app and deliever “native” functionality. Sometimes, a person wants to build an app but only happens to know how to build a website.

            It’s a much more complicated matter than just some idiots deciding “let’s build an utterly pointless thing and then let other idiots build horrific fiji-mermaid-esque hybrids!!”.

            https://asylum.madhouse-project.org/blog/2018/10/26/Walking-in-my-shoes/

            • wewbull@feddit.uk
              link
              fedilink
              English
              arrow-up
              11
              ·
              7 months ago

              Generally, my view is if it’s an electron app it’s going to be a crap user experience.

              You are talking as if all people can make a native app with the same knowledge and amount of effort as it would take to develop a website.

              No, not all people can’t do that, but I think they should learn. It will lead to better results. Or are you saying that web developers are inherently incapable of developing native applications?

              • mamotromico@lemmy.ml
                link
                fedilink
                arrow-up
                1
                ·
                7 months ago

                Honestly it varies a lot. I’m the kind of user that would rather have self contained apps (even if electron) whenever possible instead of new browser tabs/windows. So unless a electron app is notoriously bad, I’d rather have it avilable than not

            • nyan@sh.itjust.works
              link
              fedilink
              arrow-up
              7
              arrow-down
              2
              ·
              7 months ago

              Sometimes raising the barrier to entry is a good thing.

              Many Electron applications I’ve run across don’t make even a try at loading system settings. For me, that causes accessibility issues related to photosensitivity. For some reason, feeling like I’ve been stabbed in the eyeball when I try to open a program does not endear me to it or its framework.

              No application at all is actually better than something built on Electron, as far as I’m concerned, because then there’s a chance that someone, somewhere, might fill in the gap with software I can actually use.

              Electron needs to either actually provide the basics of native functionality, or go away.

            • winnie@lemmy.ml
              link
              fedilink
              arrow-up
              2
              arrow-down
              1
              ·
              7 months ago

              Then they shouldn’t! Just give users website and be done with it.

              Now you can even allow websites work offline and install them “like” an app with proper manifest.

        • bizdelnick@lemmy.ml
          link
          fedilink
          arrow-up
          6
          arrow-down
          1
          ·
          7 months ago

          There is a browser working natively in any system. I don’t see any point in bundling a web app together with a browser and calling it a “native” app. The only difference is that you have no address bar in that case.