gtk4-rs VS tauri

Compare gtk4-rs vs tauri and see what are their differences.

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
gtk4-rs tauri
22 469
1,662 77,154
4.2% 2.8%
9.6 9.8
about 22 hours ago 7 days ago
Rust Rust
MIT License Apache License 2.0
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.

gtk4-rs

Posts with mentions or reviews of gtk4-rs. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-08-23.
  • Integrate with Skia GL
    2 projects | /r/GTK | 23 Aug 2023
    The only example that shedded some light on the integration was gtk4 + femtovg. So I mimicked the example, using gtk4-rs and Skia's rust bindings. I had some code similar to the following inside a subclass of GLArea to setup Skia's DirectContext, but it failed:
  • error[E0432]: unresolved import `gtk::FileDialog`
    1 project | /r/learnrust | 31 Jul 2023
    Hi, I am studying gtk4 with rust, now trying to check examples from https://github.com/gtk-rs/gtk4-rs/tree/master/examples some of them are building and compiling but text_viewer(cargo run --bin text_viewer) and some others are failing with the error below
  • How do I use ColumnView ?
    1 project | /r/GTK | 14 May 2023
    I created a demo of using column view in gtk4-rs rust here...maybe be a point of reference https://github.com/gtk-rs/gtk4-rs/tree/master/examples/column_view_datagrid
  • GUI development with Rust and GTK 4
    15 projects | news.ycombinator.com | 25 Apr 2023
  • My (challenging) experience building a window switcher for Ubuntu
    6 projects | /r/rust | 5 Mar 2023
    To build the UI, I used gtk-rs. My experience with this library was quite pleasant; it was easy to use and there were a lot of examples. However, it isn't as widely used as, say, React, so it was difficult to find answer on Stack Overflow (I come from a JavaScript/Typescript background).
  • Are there any good UI/GUI libraries out there?
    8 projects | /r/rust | 30 Nov 2022
    There are good GTK bindings for Rust (https://github.com/gtk-rs/gtk4-rs and https://github.com/Relm4/Relm4)
  • GTK4 + Rust + GLArea: How do I set the opengl version?
    1 project | /r/GTK | 6 Nov 2022
    I've been following this example to get something that works for whatever the default opengl context version is, however, I can't figure out how to request a specific opengl version on context creation: https://github.com/gtk-rs/gtk4-rs/tree/master/examples/glium_gl_area
  • Rust for Linux can be compiled with GCC codegen(only few hacks are needed)
    2 projects | /r/linux | 9 Oct 2022
    gtk4-rs itself feels like it takes very little time to build: https://github.com/gtk-rs/gtk4-rs but when you add up all the time to building all examples afterwards, it's about the same and provides the equivalent of capabilities of QT(C++ and RUST) so yes it's going to take time to build.
  • The state of Rust GUI libraries
    9 projects | dev.to | 17 Aug 2022
    The gtk-rs project provides safe Rust bindings for GNOME stack-based libraries, like the GTK 3 and GTK 4 libraries. The gtk3-rs and gtk4-rs libraries provides GTK 3 and GTK 4 functionalities, respectively.
  • Any good resources for using Rust with GTK4 and Libadwaita?
    3 projects | /r/gnome | 12 Mar 2022
    Check out the examples in the gtk4-rs repository.

tauri

Posts with mentions or reviews of tauri. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-04-10.
  • Tauri CRUD Boilerplate
    2 projects | dev.to | 10 Apr 2024
    Hi, dear Tauri! Long time no see. I published my first post, Developing a Desktop Application via Rust and NextJS. The Tauri Way almost a year ago. Since then, Tauri has become stronger. I'm happy about that! And now, I am very pleased to make a useful contribution to the Tauri community. As a full-stack developer, I frequently face situations where I need to start a DB-based UI project as fast as possible. It's stressful if I need to start the project from 100% scratch. I prefer to keep some boilerplates on hand, which will save me time and nerves and will be the subject of this article.
  • Show HN: Floro – Visual Version Control for static assets and strings
    4 projects | news.ycombinator.com | 2 Apr 2024
    Hey Thanks!

    Just electron & vite. I might actually migrate off electron, Tauri (https://tauri.app/) seems to be getting more stable and it's gotten great reviews.

    I think this is the boilerplate I used though https://github.com/cawa-93/vite-electron-builder.

  • 3D and 2D: Testing out my cross-platform graphics engine
    17 projects | news.ycombinator.com | 2 Apr 2024
    Well the great thing about WebAssembly is that you can port QT or anything else to be at a layer below -- thanks to WebAssembly Interface Types[0] and the Component Model specification that works underneath that.

    To over-simplify, the Component Model manages language interop, and WIT constrains the boundaries with interfaces.

    IMO the problem here is defining a 90% solution for most window, tab, button, etc management, then building embeddings in QT, Flutter/Skia, and other lower level engines. Getting a good cross-platform way of doing data passing, triggering re-renders, serializing window state is probably the meat of the interesting work.

    On top of that, you really need great UX. This is normally where projects fall short -- why should I use this solution instead of something like Tauri[2] which is excellent or Electron?

    [0]: https://github.com/WebAssembly/component-model/blob/main/des...

    [1]: https://github.com/WebAssembly/component-model/blob/main/des...

    [2]: https://tauri.app/

  • Interview with Colin Lienard, Founder of GitLight
    2 projects | dev.to | 1 Apr 2024
    Welcome to the 2nd episode of our series “Building with Tauri”, where we chat with developers who build amazing projects and products using Tauri.
  • Building W-9 Crafter
    4 projects | dev.to | 28 Mar 2024
    Tauri seemed like the "thing" I should switch to because everybody loves Rust (heh), and because it ships significantly smaller apps.
  • Tauri + React + ShadcnUI
    2 projects | dev.to | 26 Mar 2024
    First of all, I will be using npm as my package manager but feel free to use whatever you prefer. Find more info here.
  • Slint 1.5: Embracing Android, Improving Live-Preview, and Pythonic Slint
    1 project | news.ycombinator.com | 15 Mar 2024
  • Shoes makes building little graphical programs for Mac, Windows, Linux simple
    13 projects | news.ycombinator.com | 23 Feb 2024
  • Tauri - Rust, Js and Native Apps
    2 projects | dev.to | 12 Feb 2024
    Today I'm talking about Tauri! Do you know all the various tools that allow you to develop native applications starting from web languages? They often need an intermediate compilation, in the middle of which you end up encountering various problems not always transparent and directly solvable with a language mostly detached from native development. On the other hand, there's still the ease of developing attractive and easily usable interfaces, which are more difficult to develop with low level languages.
  • Why Bloat Is Still Software's Biggest Vulnerability
    4 projects | news.ycombinator.com | 9 Feb 2024
    I think Tauri is the most established framework using that approach

    https://tauri.app

What are some alternatives?

When comparing gtk4-rs and tauri you can also consider the following projects:

egui - egui: an easy-to-use immediate mode GUI in Rust that runs on both web and native

Wails - Create beautiful applications using Go

fltk-rs - Rust bindings for the FLTK GUI library.

neutralinojs - Portable and lightweight cross-platform desktop application development framework

cef - Chromium Embedded Framework (CEF). A simple framework for embedding Chromium-based browsers in other applications.

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

Slint - Slint is a toolkit to efficiently develop fluid graphical user interfaces for any display: embedded devices and desktop applications. We support multiple programming languages, such as Rust, C++ or JavaScript. [Moved to: https://github.com/slint-ui/slint]

Electron - :electron: Build cross-platform desktop apps with JavaScript, HTML, and CSS

gtk-rs - Rust bindings for GTK 3

Relm4 - Build truly native applications with ease!

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