• FizzyOrange
    link
    fedilink
    arrow-up
    7
    ·
    4 days ago

    I feel like the best option at the moment is egui. It’s native. Works on the web too. Very easy to get up and running. The things I don’t like about it:

    • I personally think the default style could do with improvement. Mainly it’s way too cramped. There’s a happy middle ground between no padding and bootstrap. I mean Win32/Qt/etc. got this basically right.
    • Immediate mode. Yeah it’s easier, especially with Rust, but … it’s surely not how it’s supposed to work.
    • The low level drawing API (like if you’re making custom widgets) is surprisingly amateur. Not something I’d want to target if I’m spending a lot of time e.g. writing a custom map widget or git graph or something.

    I also tried Slint. Like the author I think the license is pretty reasonable. But it is pretty involved to set up a project and since it compiles everything from source it can take a very long time for a clean build of hello world. It’s like if you were using Qt but instead of a binary package the sources are just included in your app.

    Also I have bad experiences from QML (Javascript 🤮, weird scoping rules, etc.) but hopefully they learnt from their experience.

    Looking forward to the 2030 edition anyway!

    • spartanatreyu
      link
      fedilink
      arrow-up
      3
      arrow-down
      1
      ·
      4 days ago

      Good.

      Too many libraries/frameworks/products don’t factor in accessibility from the start.

      Along the same vein, too many open source projects don’t factor in non-“gnu/linux” environments from the start.

      It’s a lot harder to tack on after the fact rather than just having it be a part of the base design from the beginning.

      Making these front and centre in a survey should be a be a bit of a wakeup for people who don’t consider what doesn’t run on their machines.

      • BB_C
        link
        fedilink
        arrow-up
        6
        ·
        4 days ago

        Along the same vein, too many open source projects don’t factor in non-“gnu/linux” environments from the start.

        No one is entitled to anything from open-source projects.

        I spent time making sure one of my public tools was cross platform once. This was pre-Rust (a C project), and before CI runners were commonly available.

        I did manage it with relative ease, but Mac/mac (what is it now?) without hardware or VMware wasn’t fun (or even supported/allowed). Windows was a space hog and it’s a shit non-POSIX OS created by shits anyway, and Cygwin/MSYS wouldn’t have cut it for multiple reasons including performance. The three major BSDs, however, were very easy (I had prior experience with FreeBSD, but it would have been easy in any case).

        People seem to have forgotten that doing open-source was supposed to be fun first and for most. Or rather, the new generation seems to never have gotten that memo.

        POSIX is usually where a good balance between fun and public service is struck. Whether Mac/mac is included depends on the project, AND the developers involved. With CLI tools, supporting Mac/mac is often easy, especially nowadays with CI runners. With GUIs, it’s more complicated/situational.

        Windows support should always be seen as charity, not an obligation, for all projects where it’s not the primary target platform.

        • spartanatreyu
          link
          fedilink
          arrow-up
          1
          arrow-down
          1
          ·
          3 days ago

          No one is entitled to anything from open-source projects.

          I never said anything contrary to this.

          but Mac/mac (what is it now?) without hardware or VMware wasn’t fun

          Letting MacOS users support MacOS hardware is generally easy when you already have BSD and/or busybox support already.

          Windows support should always be seen as charity, not an obligation, for all [open source] projects where it’s not the primary target platform.

          Ordinarily I’d agree, except these are GUI Libraries.

          The whole point of them is to be a generic interface that prevents you from needing to use the platform specific APIs directly.

          If GUI libraries aren’t going to target the most widely used platforms, then why wouldn’t the developer just use the platform specific APIs directly?

          • taladar@sh.itjust.works
            link
            fedilink
            arrow-up
            2
            ·
            2 days ago

            In reality Windows isn’t the most widely used platform, not where it counts, among the developers of those libraries. And finding competent Windows developers to contribute also isn’t easy while finding Windows users demanding support is quite easy since the factor of developers per user is so much worse on that platform.

  • Busyvar@jlai.lu
    link
    fedilink
    arrow-up
    1
    ·
    5 days ago

    Excellent post, i already use Dioxus and is very interested to know future work on Freya.

    • onlinepersona
      link
      fedilink
      arrow-up
      15
      arrow-down
      5
      ·
      edit-2
      5 days ago

      I thought you were joking, but this dude seriously uses windows for development. No wonder he’s running into so many issues. I can’t imagine a big chunk of rust developers using that terrible OS.

      Edit: I’m surprised at the number of things he tried though and how many worked.

      Anti Commercial-AI license

      • TehPers@beehaw.org
        link
        fedilink
        English
        arrow-up
        7
        arrow-down
        2
        ·
        5 days ago

        It’s a GUI framework evaluation. I would imagine most users of a desktop application with a GUI would be Windows users. It would generally be a little weird to develop a professional product that does not work on Windows (or at least Mac). It’s a lot easier to develop that natively than to cross-compile.

        • monogram@feddit.nl
          link
          fedilink
          English
          arrow-up
          2
          arrow-down
          2
          ·
          5 days ago

          There’s a difference between a framework that builds to an exe and one that can develop in windows

          • TehPers@beehaw.org
            link
            fedilink
            English
            arrow-up
            4
            ·
            5 days ago

            I’ll be honest, I’m not really sure what you’re trying to say, but it sounds like cross-compilation to me? The article mentions several different GUI libraries that require dynamic linking and complicated build scripts, so even if you setup rustc to cross-compile (which isn’t that hard but is an extra unnecessary step for your run-of-the-mill dev who just wants to get paid), getting the build scripts to cross-compile C++ libraries or testing the cross-compiled binaries with dynamically linked libraries is a pain, assuming your build scripts even let you do that.

            All of this is avoidable by building from Windows. Or I guess you can not target Windows. That works too, but most businesses won’t see that as an option.

            • monogram@feddit.nl
              link
              fedilink
              English
              arrow-up
              1
              arrow-down
              1
              ·
              4 days ago

              My past experience in desktop apps have been Flutter and Wails and have always cross compiled to an exe.

              The less I need to touch windows the better.

            • beleza pura@lemmy.eco.br
              link
              fedilink
              arrow-up
              2
              arrow-down
              2
              ·
              edit-2
              5 days ago

              as someone who used to develop a cross-platform (linux and windows) desktop application: the bulk of development took place on linux. i only ever booted to windows to build the app and make windows-exclusive adjustments, but never to actually develop any features

      • monogram@feddit.nl
        link
        fedilink
        English
        arrow-up
        4
        arrow-down
        10
        ·
        edit-2
        4 days ago

        If you’re going to defend a mega corp, please do so on MS Teams 🤡

        • spartanatreyu
          link
          fedilink
          arrow-up
          4
          arrow-down
          2
          ·
          4 days ago

          Let’s not conflate defending OSs (and their derivatives) with the organisations that produce them.

          Ubuntu has always been a great entry for Linux users yet canonical has always had at least one thing going on to infuriate the community (flip-flopping around half-baked DEs and the transitions between them, snaps, etc…)

          Arch has always been the most customisable, but the leads have shied away from including a little setup wizard/script to automate what 90% of all users end up installing anyway.

          Fedora has always been a great middleground, but on the other hand: Red Hat

          Windows and Microsoft are no different. Base install Windows 11 is a 5/10 experience, but with your set-and-forget open source fix of choice (Win11Debloat, tronscript, etc…) becomes a solid 9/10 with next to no effort.

          • sugar_in_your_tea@sh.itjust.works
            link
            fedilink
            arrow-up
            3
            ·
            4 days ago

            I highly doubt any script could make Windows usable for me. There’s just far too much I hate about it.

            That said, opinions on openSUSE? It’s developed by SUSE employees (good or bad, depending on your perspective), Tunbleweed is arguably the best rolling distro, and the installer is great.

            • spartanatreyu
              link
              fedilink
              arrow-up
              2
              arrow-down
              1
              ·
              edit-2
              4 days ago

              I highly doubt any script could make Windows usable for me. There’s just far too much I hate about it.

              Windows XP and 7 were almost universally praised. They were consistently usable, productive, performant.

              Windows 10 was seen as a successor to 7 but was more of a rolling release that saw a gradual transition to a new user interface for system components that was haphazard and lacklustre at first, but slowly improved over time. You can’t really give Windows 10 a specific rating because what Windows 10 was changed over time.

              Windows 11 is a case study in what happens when a product is stolen away from a product team and given to a business team with no product team oversight. They started off with a great base, created products they could commodify then bloated the base with those adware / microtransaction filled products.

              The good thing is they couldn’t change everything with wreckless abandon, lest they lose their enterprise customers, so every piece of bloat they added can be turned off with a switch somewhere for each enterprise’s sysadmin to find.

              The open source fixes mentioned above (Win11Debloat, tronscript, etc…) just run through every switch and turn them off. As soon as Microsoft’s business team adds another “product” to windows 11, the open source community just adds the new switch to the open source fix.

              The closest comparison is using the internet without an adblocker vs using the internet with an adblocker.

              It’s a night and day difference, and makes the internet actually useful again.

              That said, opinions on openSUSE? It’s developed by SUSE employees (good or bad, depending on your perspective), Tunbleweed is arguably the best rolling distro, and the installer is great.

              Personally I wouldn’t recommend openSUSE purely because it’s not really intended to be a general purpose OS. It’s for a specialised use case and caters for those users in particular.

              • sugar_in_your_tea@sh.itjust.works
                link
                fedilink
                arrow-up
                3
                ·
                3 days ago

                Windows XP and 7 were almost universally praised. They were consistently usable, productive, performant.

                Windows XP completely sucked until SP2, and then it was only “good” because it sucked less than what came before.

                Windows 7 was only “good” because they undid the worst of the changes in Vista, and 8 sucked more. The same is largely true of 10, it’s only “good” because it’s less bad than 8.

                I don’t think any was objectively “good,” they just sucked less than what came before while retaining app compatibility. Windows 10 was probably the best of the bunch, but I still actively dislike using it. I actively like my hybrid CLI + GUI workflow, and Windows offers a terrible CLI experience.

                openSUSE purely because it’s not really intended to be a general purpose OS

                openSUSE is a family of OSes, all with different use cases:

                • Aeon/Kalpa - immutable desktop that you don’t need to worry about; like Silverblue
                • Tumbleweed - rolling release, requires a little bit of understanding/intervention; like Arch, but with openQA to catch many of the issues
                • Leap - traditional release-based OS, ideally prefer one of the above; like Debian

                I don’t recommend openSUSE to new users because it’s not super popular, so support can be iffy, but it has been more solid than other distros for me. I’m testing out Aeon on my laptop to see if I can recommend it.

                • spartanatreyu
                  link
                  fedilink
                  arrow-up
                  1
                  arrow-down
                  1
                  ·
                  3 days ago

                  Windows XP completely sucked until SP2

                  The service packs were mainly minor bug fixes, security changes, and support for new hardware. Besides a handful of new settings pages, almost none of the changes were noticed by users.

                  Also, of the whole windows XP era, SP2 is the one that most users experienced and remember.

                  , and then it was only “good” because it sucked less than what came before.

                  Windows XP came after both 2000 and ME. 2000 only focused on businesses and they loved it, and ME only lasted 2 weeks and was recalled, so almost no one had to deal with it. XP came after both good and bad versions of windows and was generally loved.

                  Windows 7 was only “good” because they undid the worst of the changes in Vista

                  Actually 7 was good because it continued the changes. Vista was half baked and rushed out due to the failure of the longhorn project. The user facing problems of vista fit into two buckets:

                  1. New hardware driver model
                  2. Poor optimisation

                  The new driver model wasn’t given to hardware teams early enough so almost no hardware worked out of the box with Vista. And the hardware that did, often had stability issues because there wasn’t enough time to test the drivers that they launched with.

                  Windows 7 used the exact same hardware driver model as Vista. People often thought changes were made to Windows but no, it just the fact that the hardware folks had enough time to sort out their own drivers and test them.

                  The poor optimisation was a Vista problem however. Vista was pushed out the door generally feature complete, but the devs didn’t have enough time to optimise Vista’s processes. Windows 7’s internals were mostly the same as Vista’s, except that the features were already there, so the devs could just focus on the already existing software.

                  and 8 sucked more.

                  8 actually continued the optimisations from 7, but the replaced UI was definitely a major screw up.

                  The same is largely true of 10, it’s only “good” because it’s less bad than 8.

                  10 actually continued the optimisations from 8, and the new UI resembling 7’s was a welcome change.

                  Funnily enough, 11 actually continued some optimisations from 10, but you would never know because there’s so much bloated adware inside it. That’s why people like the “fixed” versions of Windows 11, like the regular version after running open source fix of choice (Win11Debloat, tronscript, etc…), the open source debloated installs (like Tiny11), or the official debloated/debloatable installs (Windows 11 IoT LTSC, Windows 11 Enterprise).

                  Windows 11 is optimised enough that a bunch of devs enjoy sticking it on ever underpowered and unsupported hardware. Someone ported it back to a 9 year old smartphone (32-bit arm), and recently someone got it running on a smartwatch. Technically, you could run an app in a containerised Windows 11 install on a server and have it take up 290mb storage but I wouldn’t call that a typical windows 11 user experience.

                  I actively like my hybrid CLI + GUI workflow, and Windows offers a terrible CLI experience.

                  Windows used to offer a terrible CLI experience.

                  Now it comes with Windows Terminal and either powershell for a powerful non-posix shell, and WSL2 for whatever posix shell you want (and wslg for launching linux gui apps from said shells).

          • monogram@feddit.nl
            link
            fedilink
            English
            arrow-up
            2
            ·
            4 days ago

            🤡 I hate Starbuck’s CEO but walking 5min to the local café isn’t worth it imo 🤡

          • BB_C
            link
            fedilink
            arrow-up
            1
            arrow-down
            2
            ·
            4 days ago

            Oh, we got a nu-M$er here. lol.