• 0 Posts
  • 141 Comments
Joined 2 years ago
cake
Cake day: August 22nd, 2023

help-circle

  • I’ve recently started a handful of projects exploring the rust gui ecosystem and the experience has been… disappointing.

    • The most mature native library I’ve seen is Druid, which is deprecated in favour of Xilem. Xilem is highly experimental.

    • Slint is somehow used by several industry partners, yet is incapable of rendering flowing text documents, and only just brought in text formatting (via Xilem’s text library oddly enough).

    • Egui seems a bit more capable, but it has the usual downsides of immediate mode gui without any of the typical upsides (you can’t intermingle gui elements with logic, the gui has to all go in one place).

    • Dioxus is reasonably capable but is absolutely webtech focused, which seems likely anathema to Op.

    • Iced I haven’t used beyond hello world, and I didn’t enjoy that experience.

    AFAICT the most mature rust gui libraries are the rust bindings for C’s GTK and C++'s Qt.

    I also - somewhat controversially - disagree with “very well documented”. Rust projects consistently have published API references - which is great! The actual quality of the API references is mixed. Actual documentation - such as intended usage, common patterns, design intent - are much more sparse. Of the GUI libraries I listed, only Dioxus and Slint come close.








  • Check what version of Syncthing-fork you’re running. IIRC there was a major breaking change between 1.x and 2.x, so they published a new app to make sure people only upgraded deliberately.

    AFAICT F-droid hasn’t built the new app (yet?). The redirect is on GitHub’s end. You can also install older versions through F-Droid if you prefer (but not 1.x, I don’t believe those are published anymore)












  • brisk@aussie.zonetoOpen Source@lemmy.mlHelium Browser
    link
    fedilink
    arrow-up
    2
    ·
    edit-2
    3 months ago

    Gecko doesn’t have a WebView implementation (GeckoView is not a WebView implementation), so it has to be used alongside the Chromium-based WebView rather than instead of Chromium, which means having the remote attack surface of two separate browser engines instead of only one.

    This seems to be the main thrust. GrapheneOS has a hardened WebView, that using a Gecko browser bypasses and adds more attack surface because you still have the WebView.

    Outside of Graphene this is less relevant (because of the lack of hardening) and outside of mobile only the isolation comments are relevant, which they note are being improved rapidly in desktop.

    Arguments in favour of using Gecko browsers are typically about preventing a single corporation from monopolising web standards, and having continued access to proper ad blockers, things that are not part of Graphene’s focus.