Grafische Benutzeroberflächen in Rust: egui legt den Fokus auf Spiele-Engines

Die Open-Source-GUI-Library egui ist in Rust geschrieben, soll einfach zu verwenden sein und sich in Game Engines integrieren lassen.

In Pocket speichern vorlesen Druckansicht 6 Kommentare lesen

(Bild: Shutterstock.com/Anton27)

Lesezeit: 2 Min.
Von
  • Maika Möbus
Inhaltsverzeichnis

Die GUI-Bibliothek (Graphical User Interface) egui hat Version 0.24 erreicht. Sie ist in Rust geschrieben, steht quelloffen bereit und bringt im aktuellen Release einige neue Features mit. Das Entwicklungsteam hat sich mit egui zum Ziel gesetzt, die am einfachsten zu verwendende Rust-GUI-Library anzubieten.

egui soll sich durch Einfachheit, Geschwindigkeit und eine hohe Portabilität auszeichnen. Die Library richtet sich an Rust-Entwicklerinnen und -Entwickler, die auf simple Weise eine grafische Benutzeroberfläche erstellen oder zu einer Game Engine hinzufügen wollen. Dabei betont das Entwicklungsteam, dass egui die falsche Wahl sei, wenn man nativ aussehende User Interfaces erstellen möchte.

Die Ziele von egui hat das Entwicklungsteam zusammengestellt, jedoch seien diese noch nicht alle erreicht. Auf dem Weg dorthin sind in kommenden Releases Änderungen zu erwarten, die nicht rückwärtskompatibel sind. Unter anderem soll egui portabel sein, indem sich der gleiche Code für die Anwendung im Web und in nativen Apps eignet, es sollen möglichst wenige Dependencies bestehen und Entwickler sollen eigene Widgets für egui schreiben können.

Die GUI-Library lässt sich im Web, nativ und in Game Engines einsetzen. Auf GitHub stehen Integrationen von Drittanbietern unter anderem für die Bevy Game Engine, Tetra oder Skia bereit.

In einer Webdemo können Interessierte egui ausprobieren. Die Demo eignet sich für beliebige Browser mit WebAssembly- und WebGL-Unterstützung und verwendet das egui-Framework eframe. Alternativ lässt sich die Demo lokal testen:

cargo run --release -p egui_demo_app

Weitere Hinweise zum Verwenden der Demo finden sich auf GitHub.

Dort zeigt das egui-Team auch, wie eine egui-Benutzeroberfläche aussehen kann:

Das egui-Team präsentiert eine mit der GUI-Library erstellte Beispielanwendung.

(Bild: GitHub)

Das aktuelle Release egui 0.24 führt multiple Viewports und Fenster mittels einer neuen viewport-API ein. Wie in einem Browser lässt sich nun per Strg in Kombination mit den Plus-/Minus-Tasten sowie Strg+0 innerhalb einer beliebigen egui-App mittels Tastatur zoomen, und Scrollbars bleiben standardmäßig versteckt. Sie lassen sich durch Hovern auf der ScrollArea anzeigen.

Alle weiteren Informationen zum Open-Source-Projekt finden sich im GitHub-Repository.

(mai)