Die Version 1.0 des Tauri-Projekts wurde veröffentlicht, das ein Framework zur Entwicklung plattformübergreifender Desktop-Anwendungen mit Grafikanwenderoberflächen anbietet, die auf Webtechnologien basieren. Tauri ähnelt in seiner Funktionalität der Electron-Plattform, unterscheidet sich jedoch in der Architektur und hat einen geringeren Ressourcenverbrauch. Der Code des Projekts ist in Rust geschrieben und wird unter der Apache 2.0 Lizenz veröffentlicht.
Die Logik der Anwendung wird in JavaScript, HTML und CSS definiert, jedoch werden Tauri-Programme im Gegensatz zu Webanwendungen als eigenständige, ausführbare Dateien bereitgestellt, die nicht an einen Browser gebunden sind und für verschiedene Betriebssysteme kompiliert werden können. Die Plattform bietet zudem Tools zur automatischen Bereitstellung und Installation von Updates. Dieser Ansatz ermöglicht es Entwicklern, sich nicht um die Portierung der Anwendung auf verschiedene Plattformen zu kümmern und vereinfacht die Aktualisierung der Anwendung.
In der Anwendung können beliebige Web-Frameworks für die Erstellung von Oberflächen verwendet werden, die HTML, JavaScript und CSS ausgeben. Das auf Web-Technologien basierende Frontend wird mit dem Backend verbunden, das Funktionen wie die Organisation der Benutzerinteraktion und die Ausführung der Web-Anwendung übernimmt. Zur Verarbeitung von Fenstern auf der Linux-Plattform wird die GTK-Bibliothek (GTK 3 Rust-Binding) verwendet, während in macOS und Windows eine von dem Projekt entwickelte Bibliothek namens Tao, die in Rust geschrieben ist, eingesetzt wird.
Für die Gestaltung der Benutzeroberfläche kommt die WRY-Bibliothek zum Einsatz, die eine Bindung an die Browsermotoren WebKit für macOS, WebView2 für Windows und WebKitGTK für Linux darstellt. Die Bibliothek bietet zudem eine Sammlung von vorgefertigten Komponenten für die Implementierung von Benutzerschnittstellenelementen wie Menüs und Taskleisten. In der erstellten Anwendung kann eine multifunktionale Benutzeroberfläche genutzt werden, die das Minimieren in das System-Tray und die Anzeige von Benachrichtigungen über die entsprechenden System-Schnittstellen ermöglicht.
Die erste Version der Plattform ermöglicht das Erstellen von Anwendungen für Windows 7/8/10 (.exe, .msi), Linux (.deb, AppImage) und macOS (.app, .dmg). Unterstützung für iOS und Android ist in Entwicklung. Die ausführbare Datei kann mit einer digitalen Signatur versehen werden. Für das Erstellen und Entwickeln steht eine CLI-Schnittstelle, ein Plugin für den VS Code-Editor sowie ein Set an Build-Skripten für GitHub (tauri-action) zur Verfügung. Plugins können verwendet werden, um die grundlegenden Komponenten der Tauri-Plattform zu erweitern.
Im Gegensatz zur Electron-Plattform weist Tauri einen deutlich kompakteren Installer auf (3,1 MB bei Tauri und 52,1 MB bei Electron), einen geringen Speicherverbrauch (180 MB gegenüber 462 MB), eine hohe Startgeschwindigkeit (0,39 Sekunden gegenüber 0,80 Sekunden) sowie die Nutzung eines Backends in Rust anstelle von Node.js, zusätzliche Schutz- und Isolationsmaßnahmen (zum Beispiel Scoped Filesystem zur Einschränkung des Zugriffs auf das Dateisystem).
Quelle: opennet.ru
