Discord will sich bei seinen Clients von der Laufzeitumgebung Electron und der darin genutzten UI-Bibliothek React verabschieden. Das teilte Discord-CTO Stanislav Vishnevskiy am Mittwoch auf X mit. Stattdessen soll der Kern nun aus Rust-Code bestehen. Für die Oberfläche kommt das GUI-Framework GPUI zum Einsatz. Den Rust-Kern teilt sich der Desktop-Client dann auch mit den mobilen Anwendungen: Die nativen Oberflächen von Android und iOS greifen auf eine gemeinsame, in Rust geschriebene Anwendungslogik zu, React Native wird abgeschafft.

Early Adopter

Der Umstieg überrascht kaum, denn Discord befasst sich schon seit 2018 mit Rust. 2020 portierte das Unternehmen seinen Dienst zum Lesen von Nachrichten von Go nach Rust, um Latenzspitzen vom Garbage Collector loszuwerden. Die Speicherverwaltung von Rust eignete sich damals schon gut, um Echtzeit-Audio zu händeln. Jetzt schickt man sich an, zu vereinheitlichen und eine gemeinsame Codebasis für Desktop- und Mobile-Client zu schaffen.

Ganz handfest soll das auch RAM sparen: Electron nutzt Chromium und Node.js, was den Speicherbedarf des Clients erheblich aufblähen konnte. Die neue Rust-Basis verspricht hingegen einen – noch nicht von der Öffentlichkeit getesteten – Speicherbedarf von unter 300 MB.

Rust-UI

Zed Industries entwickelte das quelloffene GPUI-Framework für ihren Code-Editor Zed, der im April Version 1.0 erreichte. Anders als Tauri- oder Electron-Projekte setzt Zed nicht auf Webtechnologien, sondern auf ein eigenes, GPU-beschleunigtes UI-Framework. Dafür nutzt es Metal auf macOS, DirectX 11 auf Windows, und wgpu on Linux. GPUI selbst ist allerdings noch nicht bei Version 1.0 angekommen, und Änderungen zwischen den Versionen machen sie häufig inkompatibel. Eingebettete Inhalte wie YouTube und Activities sollen weiterhin System-Webviews nutzen.

(kki)

Source: Heise · Kornelius Kindermann

At a glance

Topic
Technology
Country
🇩🇪 DE
Publisher language
DE
Added to Allnira