HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
linebender
druid
Rust2019–2022
linebender / druid

druid

A data-first Rust-native UI design toolkit.

27Distinct people
31Mentions
0Explicit recommenders
9.7KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

A data-first Rust-native UI design toolkit.

GitHub

Where it is used

No documented product use was verified in the last source check.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

Mentioned in the same Hacker News threads. That is not proof they are substitutes.

This week on Hacker News

Nov 8–Nov 15 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/15/2026, 7:24:48 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year31 dated mentions

Observed mentions: 2019-03-07 16:10:58 UTC to 2022-12-26 21:11:20 UTC.

02468102019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 6 mentions; 0 submissions, 6 comments20192020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 8 mentions; 1 submissions, 7 comments20202021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 8 mentions; 3 submissions, 5 comments2022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 9 mentions; 0 submissions, 9 comments2022

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC606
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC817
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC835
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC909

What Hacker News says

8 sources
One of the best cross-platform open source projects I've seen so far is https://makepad.nl. - wasm source takes around 2 MB - loads up quickly and it is fast even in mobile browsers - great codebase! - compiles in under a minute (41s on my laptop) inspite being written in Rust Still needs a lot of work to be usable: - missing UI features like proper layouting, configurability etc. - imo font rendering still needs a lot of work; but there are already project in rust which do font rendering right, for instance: (git clone github.com/linebender/druid && cd druid && cargo run --release --example=text) - no animated transitions of UI components Makepad doesn't strive to be UI toolkit, but judging by the way it works already and dedication of the founders it looks really promising.
In Uno: Single-Codebase for Windows, WebAssembly, iOS, macOS, Android and Linux
On keyboard handling, https://github.com/linebender/druid/issues/1040 is the main tracking issue. That references a number of PR's, of which 1049 is the core of the platform keyboard handling. I'd be very pleased for other people doing this (including winit) to use this as a model, as a fair amount of study went into getting it right, especially on Windows. Regarding IME, we haven't done it yet (we're trying to be fairly conservative in our roadmapping), but we plan to wire up actual composition regions and so on, and hope to plumb IME to it using a cross-platform abstraction. My understanding of the winit code is that it varies a lot from platform to platform, but seems to mostly be synthesizing keyboard events (ReceivedCharacter) when an IME request such as "insertText" happens.
In Rust 2021: GUI
This is a very complicated issue. You can read our reasoning at the time in https://github.com/linebender/druid/issues/16 Since then, I've both regretted the fact that we're duplicating work, and been happy that we've been able to move more nimbly than we would if we were dragging the rest of the winit userbase along. A recent example of that is keyboard handling, and I'm expecting a similar situation soon with IME, as we'll want to handle that very differently than winit's current implementation. Take a look at our CI for the testing story. We have some tests, but they're mostly for platform-independent logic; we don't run a lot of platform specific code in CI. That said, Rust's type system is strong enough to catch a lot of potential breakage at compile time. Other than that, people tend to notice broken things pretty quickly. So overal
Read the rest
l testing is one of the many things we want to improve, but works reasonably well.
In Rust 2021: GUI
Indeed, however I think we might replace Go with any programming language and your comment will still make sense. Currently, web-browsers are the best have-it-all platforms, and outside web-technologies there isn't many good alternatives. We landed in 2020 and we don't have any complete, native-like, cross-platform GUI toolkit (if we skip Qt and GTK). In last years a lot projects have appeared, which were trying to compete in GUI toolkit market share. All of them had its scope limited, however they brought quite fresh look on declarative programming interface [0][1], superb 2D rendering pipeline [2][3], ease of embedding [4] and adaption to low-power devices [5] but none of them is "complete". Personally, I am amazed of the implementation of rxi/lite [6], which is just an app (C with Lua) based on SDL2 library. It uses 2x less RAM than s
Read the rest
ublime on 1GB file, has lower latency, covers clipboard, keyboard, mouse, drag and drop, some context menus but does it feel native? No. Among many issues, it is easy to report an error with screen-reading software but it is quite common problem in all aforementioned. Perhaps in future, something like LSP specification will see a daylight, which in outcome will helps us to provide universal, modular, limited to certain scope libraries that can be easily plugged in case of need. Maybe then we will came closer to "native" GUIs. In my experience, there are numerous developers who were trying hard to deliver "complete" GUI toolkit but have failed. [0]: https://github.com/cycfi/elements [1]: https://flutter.dev/ [2]: https://github.com/linebender/druid [3]: https://github.com/servo/pathfinder [4]: https://github.com/ocornut/imgui [5]: https://github.com/Immediate-Mode-UI/Nuklear [6]: https://github.com/rxi/lite
In Golang Desktop App with Webview/Lorca, WASM and Bazel
Hello, I'm Ankur! I've spent the last 8 years building frontend applications with a variety of tech, from modern-day React to jQuery and DOM soup in the Olden Days. While the bulk of my professional experience is with front-end development, I'm currently trying to transition into a role that involves primarily working with Rust. I've spent the last three months on a sabbatical where I've been experimenting with the language and contributing patches to an open-source GUI toolkit called Druid (https://github.com/xi-editor/druid), still in the early stages of development. I'm most interested in a role where I can build web APIs and network services with Rust, but I'm open to other roles as well. While my experience with Rust is limited, I'm a quick learner who can rapidly come up to speed with unfamiliar concepts and new codebases. I've spen
Read the rest
t a large chunk of my career working remotely, so I'm very good at written communication and working asynchronously. Oh, and I'm always open to having a chat with other Rust users, even if you're not hiring :) Location: Bangalore, India Remote: Yes Willing to relocate: No Technologies: Rust (but open to JavaScript/TypeScript/React) Resume/CV: https://ankursethi.in/work/ Email: contact@ankursethi.in Twitter: https://twitter.com/ankurs3thi
In Ask HN: Who wants to be hired right now?

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.