Relm4 VS gtk-rs-core

Compare Relm4 vs gtk-rs-core and see what are their differences.

Relm4

Build truly native applications with ease! (by Relm4)
Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
Relm4 gtk-rs-core
23 3
1,269 252
5.4% 4.4%
8.9 9.8
4 days ago 4 days ago
Rust Rust
Apache License 2.0 MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

Relm4

Posts with mentions or reviews of Relm4. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-03-27.

gtk-rs-core

Posts with mentions or reviews of gtk-rs-core. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-09-08.
  • Nix Software Center: gtk4/libadwaita app store for NixOS
    11 projects | /r/NixOS | 8 Sep 2022
    nix-software-center> [1/6] Generating src/resources_gresource with a custom command nix-software-center> xml-stripblanks preprocessing requested, but XMLLINT is not set, and xmllint is not in PATH nix-software-center> [4/6] Generating data/dev.vlinkz.NixSoftwareCenter.metainfo.xml with a custom command nix-software-center> FAILED: src/nix-software-center nix-software-center> /nix/store/p643r4aczmzb0dhyrx3dj592f0s5v7xj-coreutils-9.0/bin/env CARGO_HOME=/build/r4npznxg986vxdl3gh7jhmqvv8jbvf02-source/build/cargo-home /nix/store/2gwhsd2jcz90zni0pwlhhfbmfbflixws-cargo-1.60.0/bin/cargo build --manifest-path /build/r4npznxg986vxdl3gh7jhmqvv8jbvf02-source/Cargo.toml --target-dir /build/r4npznxg986vxdl3gh7jhmqvv8jbvf02-source/build/src --release && cp src/release/nix-software-center src/nix-software-center nix-software-center> ninja: build stopped: subcommand failed. error: builder for '/nix/store/m9kf43zsr5hkq2igfdnag0phq154igks-nix-software-center-0.0.1.drv' failed with exit code 1; last 10 log lines: > building > build flags: -j8 -l8 > [0/6] Generating src/cargo-build with a custom command > error: package cairo-sys-rs v0.16.0 (https://github.com/gtk-rs/gtk-rs-core#9fe7e5ce) cannot be built because it requires rustc 1.63 or newer, while the currently active rustc version is 1.60.0 > [1/6] Generating src/resources_gresource with a custom command > xml-stripblanks preprocessing requested, but XMLLINT is not set, and xmllint is not in PATH > [4/6] Generating data/dev.vlinkz.NixSoftwareCenter.metainfo.xml with a custom command > FAILED: src/nix-software-center > /nix/store/p643r4aczmzb0dhyrx3dj592f0s5v7xj-coreutils-9.0/bin/env CARGO_HOME=/build/r4npznxg986vxdl3gh7jhmqvv8jbvf02-source/build/cargo-home /nix/store/2gwhsd2jcz90zni0pwlhhfbmfbflixws-cargo-1.60.0/bin/cargo build --manifest-path /build/r4npznxg986vxdl3gh7jhmqvv8jbvf02-source/Cargo.toml --target-dir /build/r4npznxg986vxdl3gh7jhmqvv8jbvf02-source/build/src --release && cp src/release/nix-software-center src/nix-software-center > ninja: build stopped: subcommand failed. For full logs, run 'nix log /nix/store/m9kf43zsr5hkq2igfdnag0phq154igks-nix-software-center-0.0.1.drv'. error: 1 dependencies of derivation '/nix/store/clykb6wwpv08l2vxnvnx8br7fzpx2y63-system-path.drv' failed to build error: 1 dependencies of derivation '/nix/store/321q6c143bf5w7m8njzvqkhjillbssk5-nixos-system-nflx-erahhal-t490s-22.05.20220902.67e4507.drv' failed to build
  • Gtk4 Tutorial
    12 projects | news.ycombinator.com | 20 Oct 2021
    "Automatically figuring out which parent objects the class you're subclassing derives from"

    AFAIK this is a language limitation, there is no way in a Rust macro to take a type and get all the traits that are implemented for that type.

    "Helpers for properties and signals"

    There is an open issue for this: https://github.com/gtk-rs/gtk-rs-core/issues/27

    "A flat list of methods, instead of the public/imp split"

    You can already do this in your code and use "pub fn" and "fn" like normal.

    "I feel like I had a difficult time figuring out how to share state between widgets. You end up with lots of OnceCell, Rc, and RefCell, and it quickly becomes confusing,"

    I think you are supposed to use bind_property and the gtk::Expression objects to do data binding, though that part is not so convenient to use from C or Rust either.

  • How to (properly) use subclassing in gtk4-rs?
    2 projects | /r/rust | 3 Aug 2021
    Ideally this should be automated with a nice derive macro, see https://github.com/gtk-rs/gtk-rs-core/issues/27 . How that could look exactly is still up to discussion and not so easy while keeping it flexible. That derive macro would then likely also work with the id: usize parameter to the property setter/getter instead of the string name.

What are some alternatives?

When comparing Relm4 and gtk-rs-core you can also consider the following projects:

gtk4-rs - Rust bindings of GTK 4

Gtk4-tutorial - GTK 4 tutorial for beginners

dispatch-proxy - Combine internet connections, increase your download speed

gtk-rs - Rust bindings for GTK 3

dioxus - Fullstack GUI library for desktop, web, mobile, and more.

owlkettle - A declarative user interface framework based on GTK 4

druid - A data-first Rust-native UI design toolkit.

iced - A cross-platform GUI library for Rust, inspired by Elm

tauri - Build smaller, faster, and more secure desktop applications with a web frontend.

done - The ultimate task management solution for seamless organization and efficiency.

poppler-rs - Render PDFs in Rust using libpoppler