Rust Programmiersprache
Browserprogrammierung mit einer "Desktop-Programmiersprache"
Rust im Browser ausführen (04.03.2025)
Förderjahr 2023 / Projekt Call #18 / ProjektID: 6890 / Projekt: Math2Model

Die Rust-Programmiersprache bringt man wohl nicht in erster Linie mit Webentwicklung in Verbindung - dennoch haben wir vor einiger Zeit die technologische Basis unseres Webprojekts Math2Model um diese Programmiersprache erweitert. Einige Teile laufen weiterhin auf TypeScript-Basis, doch große Teile basieren nun auf Rust. Browser können zwar Rust nicht nativ ausführen, doch WebAssembly ermöglicht dies und Rust kann in WebAssembly kompiliert werden.

Große Vorteile der Verwendung von Rust sind:

  • Es ist eine stark typisierte Programmiersprache, die so konstruiert ist, dass einige Programmierfehler bereits per Design verhindert werden (durch Features wie den Borrow-Checker).
  • Ein Rust-Programm kann - bei entsprechender Konfiguration - sowohl als Desktopapplikation als auch als WebAssembly gebaut werden. Ein so gebautes Desktopprogramm kann mit Debuggern analysiert werden, wie z.B. RenderDoc, das insbesondere das Graphik-Debugging ermöglicht, was im Browser so in dieser Form nicht möglich ist.
  • Es gibt eine Vielzahl an mächtigen, professionellen Libraries, die die Entwicklung weiter erleichtern. So verwenden wir beispielsweise die Library glam für lineare Algebra.
  • Fehler bei der Datenübertragung zu Shaderprogrammen werden vermieden, da statische Typen CPU-seitig für alle Typen in Shaderprogrammen generiert werden können. Diese Bindings können mit einer Library generiert werden.

Für andere Teile unseres Tools verwenden wir weiterhin TypeScript. Das User Interface verwendet beispielsweise diverse TypeScript-Libraries. Um zwischen Rust und TypeScript zu kommunizieren, haben wir eine Rust<->TypeScript Bridge implementiert. Dadurch können wir die besten Features aus beiden Welten nutzen.

Tags:

JavaScript rust WebAssembly
CAPTCHA
Diese Frage dient der Überprüfung, ob Sie ein menschlicher Besucher sind und um automatisierten SPAM zu verhindern.
    Datenschutzinformation
    Der datenschutzrechtliche Verantwortliche (Internet Privatstiftung Austria - Internet Foundation Austria, Österreich) würde gerne mit folgenden Diensten Ihre personenbezogenen Daten verarbeiten. Zur Personalisierung können Technologien wie Cookies, LocalStorage usw. verwendet werden. Dies ist für die Nutzung der Website nicht notwendig, ermöglicht aber eine noch engere Interaktion mit Ihnen. Falls gewünscht, können Sie Ihre Einwilligung jederzeit via unserer Datenschutzerklärung anpassen oder widerrufen.