Die Veröffentlichung der Tauri 1.0 Version wurde bekannt gegeben, die ein Framework zur Erstellung plattformĂŒbergreifender Desktop-Anwendungen mit grafischen BenutzeroberflĂ€chen auf Basis von Web-Technologien weiterentwickelt. Im Kern Ă€hnelt Tauri der Electron-Plattform, unterscheidet sich jedoch durch eine andere Architektur und 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 mit JavaScript, HTML und CSS definiert, aber im Gegensatz zu Webanwendungen werden Tauri-basierte Programme als eigenstĂ€ndige ausfĂŒhrbare Dateien bereitgestellt, die nicht an einen Browser gebunden und fĂŒr verschiedene Betriebssysteme kompiliert sind. Die Plattform bietet auch Werkzeuge zur automatischen Bereitstellung und Installation von Updates. Diese Herangehensweise ermöglicht es Entwicklern, sich um die Portierung der Anwendung auf verschiedene Plattformen keine Sorgen zu machen, und erleichtert die Aufrechterhaltung der Anwendung in einem aktuellen Zustand.
In der Anwendung können beliebige Web-Frameworks zur Erstellung der BenutzeroberflĂ€che verwendet werden, die HTML, JavaScript und CSS ausgeben. Das auf Web-Technologien basierende Frontend wird mit dem Backend verbunden, das Funktionen wie die Interaktion mit dem Benutzer und die AusfĂŒhrung der Webanwendung bereitstellt. FĂŒr die Fensterverwaltung auf der Linux-Plattform wird die GTK-Bibliothek (GTK 3 Rust-Bindung) verwendet, wĂ€hrend in macOS und Windows die von dem Projekt entwickelte Tao-Bibliothek, die in Rust geschrieben ist, genutzt wird.
Zur Gestaltung der BenutzeroberflĂ€che wird die WRY-Bibliothek eingesetzt, die eine Abstraktion ĂŒber die WebKit-Browser-Engine fĂŒr macOS, WebView2 fĂŒr Windows und WebKitGTK fĂŒr Linux bietet. Die Bibliothek stellt auch eine Reihe vorgefertigter Komponenten zur VerfĂŒgung, um Elemente wie MenĂŒs und Taskleisten zu implementieren. In der erstellten Anwendung kann eine mehrfenstrige BenutzeroberflĂ€che, Minimierung in den System-Tray und die Ausgabe von Benachrichtigungen ĂŒber die integrierten System-Schnittstellen verwendet werden.
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). Die UnterstĂŒtzung fĂŒr iOS und Android ist in Entwicklung. Die ausfĂŒhrbare Datei kann mit einer digitalen Signatur signiert werden. FĂŒr den Aufbau und die Entwicklung wird eine CLI-Schnittstelle, ein Plugin fĂŒr den VS Code-Editor und eine Sammlung von Build-Skripten fĂŒr GitHub (tauri-action) angeboten. Zur Erweiterung der Basis-Komponenten der Tauri-Plattform können Plugins verwendet werden.
Zu den Unterschieden zur Electron-Plattform zĂ€hlt ein deutlich kompakterer Installer (3,1 MB bei Tauri und 52,1 MB bei Electron), ein geringerer Speicherverbrauch (180 MB gegenĂŒber 462 MB), eine höhere Startgeschwindigkeit (0,39 Sekunden gegenĂŒber 0,80 Sekunden), die Verwendung 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
