GPUI ist eine GPU-basierte GUI-Library in und für Rust.
GPUI wurde speziell für den GUI-Texteditor Zed entwickelt und ist mit diesem derzeit noch eng verzahnt:
Nur die von Zed benötigten Widgets sind implementiert.
Das externe Projekt GPUI Component bietet einige grundlegende Widgets an. Allerdings wird es überwiegend von den 2 Entwicklern eines kommerziellen Produkts geschrieben. Es besteht somit das Risiko, dass sie ihre Bemühungen einstellen könnten, sobald das Projekt ihre Bedürfnisse erfüllt oder sich ihre kommerziellen Interessen verändern.
GPUIs Entwicklung ist noch jung, so dass es zu Brüchen kommen kann.
Dokumentation ist nur spärlich vorhanden:
Beispiel-Code:
GPUI-Projekte können mit create-gpui-app erzeugt werden.
Mit Application wird die Applikation konfiguriert, um sie mit Application::run() schließlich zu starten. run() erwartet eine Closure mit dem Argument &mut App. Die Closure wird aufgerufen, sobald die Applikation gestartet wurde.
Element: TODORender: Wird für „Views“ implementiert. Views sind Entitys, die sich graphisch darstellen lassen, mittels der render() Methode.Window: Der State eines Fensters.Entity: Reference-counted Smart Pointer auf einen Struct mit Daten der Applikation.Global: Marker Trait für Datentypen, die im Global State gespeichert werden sollen.Entity vs Global:
Entity kann Events emittierenEntity kann in einem Global gehalten werdenContexts:
App: der vollständige State einer Applikation.AsyncApp: TODOContext<T>: TODOAsyncWindowContext: TODOTestAppContext: TODOSharedString: TODOSharedUri: TODOKey Dispatch: TODO
based, Beam, BMO, Broquest, Coop, DBFlux, Drakkar VFX, Frame, GitComet, Gpui Based Calculator, GPUI Calculator, GPUI List examples, Helix gpui, Hummingbird, Kagi, Kallax, Longbridge Pro, Loungy, Luna, Memory Match Game, Monocurl, Ngurra, Nohrs, OneText, OpenLogi, OpenProcMon, PGUI, PicoForge, rgitui, Setu, Shouting Robin, Solitaire vibe coding session, SotF, SSH Tunnel Manager, Termua, TukeySheets, Vleer, Wiremann, Zaku, Zed, Zedis