So you want to write a GUI framework

Through several recent discussions of GUI programming in Rust, I have been left with the impression that the term ‘GUI’ means significantly different things to different people.

I would like to try and clarify this point somewhat, first by describing some of the different things that people refer to as GUI frameworks/toolkits, and then by exploring in detail the necessary components of one of these, the classic desktop GUI framework.

Although this post is not especially specific to Rust, it does have its genesis in Rust: it is largely informed by my experience working on Druid, a Rust GUI toolkit of the desktop variety.

Once we have a shared understanding of the problem, we will be better situated to talk about the status of this work in Rust, which will be the topic of a follow-up post.

Contents

  1. What we mean by ‘GUI’
  2. Games and embedded
  3. Anatomy of a desktop GUI
  4. Windowing
  1. Handling input
  1. Accessibility
  2. Internationalization and localization
  3. Other common features
  1. Putting it together

Read in full here:

This thread was posted by one of our members via one of our news source trackers.

1 Like

Corresponding tweet for this thread:

Share link for this tweet.

1 Like

This is quite topical for the Rust community, where there have been several attempts at creating a cross-portable GUI framework.

3 Likes