Опубликован выпуск проекта Tauri 1.0, развивающего фреймворк для создания многоплатформенных пользовательских приложений с графическим интерфейсом, построенных с использованием web-технологий. По своей сути Tauri напоминает платформу Electron, но отличается иной архитектурой и более низким потреблением ресурсов. Код проекта написан на языке Rust и распространяется под лицензией Apache 2.0.

Логика работы приложения определяется на JavaScript, HTML и CSS, но в отличие от web-приложений, программы на базе Tauri поставляются в виде самодостаточных исполняемых файлов, не привязанных к браузеру и компилируемых для различных операционных систем. Платформа также предоставляет инструменты для организации автоматической доставки и установки обновлений. Подобный подход позволяет разработчику не заботиться о портировании приложения для различных платформ и упрощает поддержание приложения в актуальном состоянии.

В приложении могут использоваться любые web-фреймворки для построения интерфейса, выдающие на выходе HTML, JavaScript и CSS. Подготовленный на базе web-технологий фронтэнд привязывается к бэкенду, выполняющему такие функции, как организация взаимодействия с пользователем и выполнение web-приложения. Для обработки окон на платформе Linux используется библиотека GTK (биндинг GTK 3 Rust), а в macOS и Windows развиваемая проектом библиотека Tao, написанная на Rust.

Для формирования интерфейса применяется библиотека WRY, представляющая собой обвязку над браузерным движком WebKit для macOS, WebView2 для Windows и WebKitGTK для Linux. Библиотека также предлагает набор готовых компонентов для реализации таких элементов интерфейса, как меню и панель задач. В создаваемом приложении можно использовать многооконный интерфейс, сворачивание в системный лоток и вывод уведомлений через штатные системные интерфейсы.

Первый выпуск платформы позволяет собирать приложения для Windows 7/8/10 (.exe, .msi), Linux (.deb, AppImage) и macOS (.app, .dmg). В разработке поддержка iOS и Android. Исполняемый файл может быть заверен цифровой подписью. Для сборки и разработки предлагается CLI-интерфейс, дополнение к редактору VS Code и набор сборочных сценариев для GitHub (tauri-action). Для расширения базовых компонентов платформы Tauri могут использоваться плагины.

Из отличий от платформы Electron отмечается значительно более компактный установщик (3.1 MB в Tauri и 52.1 MB в Electron), низкое потребление памяти (180 MB против 462 MB), высокая скорость запуска (0.39 секунд против 0.80 секунд), использование бэкенда на Rust вместо Node.js, дополнительные меры защиты и изоляции (например, Scoped Filesystem для ограничения доступа к файловой системе).

  • LINUXTALKS-CO
    link
    fedilink
    arrow-up
    0
    ·
    4 years ago

    Плюс джавы конечно. Написанное под неё, но не развивающееся это просто стабилизированное, поэтому и интерпрайзно. Если выкрутасов не делать написанное прадедами по идее должно заработать с полтычка. Не, ну в целом написать ПО с гуем по вкусу не проблема, если приложение простое то даже можно с нуля свои пару тройку элементов интерфейса забабахать, сделать рендер всего этого и всё. Или взять что-то готовое. Но хочется чего-то эмм просто стабильного. Пусть простого, но умеющего дружить как с древностью так и с новым, чего-то самостоятельного. Современный гуй на линуксах идёт по пути эволюции и развивает каждый своё в рамках возможностей платформы ложа большой БОЛТ на всё что было в прошлом. От этого сейчас у меня три разных приложения на GTK+ в системе выглядят и функционируют по разному причём так будто на разных тулкитах написаны. Вот лично мне по сути хватило бы например Nuklear или подобного, но останавливает только одно, а именно отсуцтвие поддержки “тем” родной системы в автоматическом режиме, корое вариантов гуя много, но они не умеют мимикрировать под что-то иное. И всё бы ладно если бы например поддержка тем вообще существовала, сейчас темы в гноме это просто хак css стили никогда не предозначались для тем, но так уж сложилось что это начали использовать и развилось всё самотёком, культя и прочеи так же (хотя там получще вроде и есть нормальная поддерджка тем) ну так вот всё бы ладно, но они же дружно ломают всё это переодически и что-то внешнее пытаясь мимикрировать под системное тоже кирдыкается, так и получается кашка манная в перемешку с гречкой, просом и овсом и прочим, как каша “дружба” которую готовят каждый раз по разному и почти всегда неудачно.