Opublikowano wersję projektu Tauri 1.0, rozwijającego framework do tworzenia wieloplatformowych aplikacji użytkowych z graficznym interfejsem, skonstruowanych z wykorzystaniem technologii webowych. W istocie Tauri przypomina platformę Electron, ale różni się architekturą oraz mniejszym zużyciem zasobów. Kod projektu napisany jest w języku Rust i udostępniany na licencji Apache 2.0.
Logika działania aplikacji jest definiowana w JavaScript, HTML i CSS, ale w przeciwieństwie do aplikacji webowych, programy bazujące na Tauri dostarczane są w postaci samodzielnych plików wykonywalnych, niezwiązanych z przeglądarką i kompilowanych dla różnych systemów operacyjnych. Platforma oferuje również narzędzia do automatycznej dostawy i instalacji aktualizacji. Takie podejście pozwala programistom nie martwić się o portowanie aplikacji na różne platformy i upraszcza utrzymanie aplikacji w aktualnym stanie.
W aplikacji mogą być używane dowolne frameworki webowe do budowy interfejsu, które generują HTML, JavaScript i CSS. Przygotowany na bazie technologii webowych frontend łączy się z backendem, który wykonuje takie funkcje, jak organizacja interakcji z użytkownikiem i realizacja aplikacji webowej. Do obsługi okien w platformie Linux używana jest biblioteka GTK (binding GTK 3 Rust), a na macOS i Windows rozwijana jest biblioteka Tao, napisana w Rust.
Do tworzenia interfejsu stosowana jest biblioteka WRY, która jest opakowaniem nad silnikiem przeglądarki WebKit dla macOS, WebView2 dla Windows oraz WebKitGTK dla Linux. Biblioteka oferuje również zestaw gotowych komponentów do realizacji takich elementów interfejsu, jak menu i pasek zadań. W tworzonej aplikacji można używać interfejsu wielookiennego, minimalizować do zasobnika systemowego oraz wyświetlać powiadomienia przez standardowe interfejsy systemowe.
Pierwsza wersja platformy umożliwia kompilację aplikacji dla Windows 7/8/10 (.exe, .msi), Linux (.deb, AppImage) i macOS (.app, .dmg). W trakcie prac znajduje się wsparcie dla iOS i Android. Plik wykonywalny może być opatrzony podpisem cyfrowym. Do kompilacji i programowania oferowany jest interfejs CLI, dodatek do edytora VS Code oraz zestaw skryptów do kompilacji dla GitHub (tauri-action). Do rozszerzania podstawowych komponentów platformy Tauri mogą być używane wtyczki.
Wśród różnic w porównaniu do platformy Electron wymienia się znacząco mniejszy instalator (3,1 MB w Tauri i 52,1 MB w Electron), niskie zużycie pamięci (180 MB w porównaniu do 462 MB), wysoka szybkość uruchamiania (0,39 sekundy w porównaniu do 0,80 sekundy), użycie backendu w Rust zamiast Node.js, dodatkowe środki bezpieczeństwa i izolacji (na przykład Scoped Filesystem w celu ograniczenia dostępu do systemu plików).
Źródło: opennet.ru
