Опубликован выпуск проекта 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 для ограничения доступа к файловой системе).
Целевая аудитория разработчиков таких вот поделок на вебне какая?
К сожалению огромная как минимум.
Через 1,5 года появится новый фреймворк с целью конкурировать с вот этим вот. Фигня короче. Лучше бы под линуксы нормальную ГУИ библиотеку написали новую, Qt болваны что от них ждать вообще непонятно всё раздроблено и впереди только мрак, GTK+ со скрипом ещё можно сказать что норм, но чем дальше тем хуже разработчики (или их начальники) кукушкой уже давно поехали и мчатся на всех парах по уже всем знакомой линии, ну и GTK+ по факту считай уже принадлежит IBM. Tcl унесите. Просветлённые, застряли в прошлом. Nuklear и горстка подобных имеют шанс, но у них своя область применения. Нужен новый GTK, но уже нормальный.
Самое смешное, что я до сих пор пишу GUI на Swing, хоть он уже и не развивается давным давно. ЧСХ, всё работает и никаких проблем с переносимостью.
А как начать писать на сванге? жабу знаю.
Плюс джавы конечно. Написанное под неё, но не развивающееся это просто стабилизированное, поэтому и интерпрайзно. Если выкрутасов не делать написанное прадедами по идее должно заработать с полтычка. Не, ну в целом написать ПО с гуем по вкусу не проблема, если приложение простое то даже можно с нуля свои пару тройку элементов интерфейса забабахать, сделать рендер всего этого и всё. Или взять что-то готовое. Но хочется чего-то эмм просто стабильного. Пусть простого, но умеющего дружить как с древностью так и с новым, чего-то самостоятельного. Современный гуй на линуксах идёт по пути эволюции и развивает каждый своё в рамках возможностей платформы ложа большой БОЛТ на всё что было в прошлом. От этого сейчас у меня три разных приложения на GTK+ в системе выглядят и функционируют по разному причём так будто на разных тулкитах написаны. Вот лично мне по сути хватило бы например Nuklear или подобного, но останавливает только одно, а именно отсуцтвие поддержки “тем” родной системы в автоматическом режиме, корое вариантов гуя много, но они не умеют мимикрировать под что-то иное. И всё бы ладно если бы например поддержка тем вообще существовала, сейчас темы в гноме это просто хак css стили никогда не предозначались для тем, но так уж сложилось что это начали использовать и развилось всё самотёком, культя и прочеи так же (хотя там получще вроде и есть нормальная поддерджка тем) ну так вот всё бы ладно, но они же дружно ломают всё это переодически и что-то внешнее пытаясь мимикрировать под системное тоже кирдыкается, так и получается кашка манная в перемешку с гречкой, просом и овсом и прочим, как каша “дружба” которую готовят каждый раз по разному и почти всегда неудачно.
А почему wxWidgets не выстрелило, комрады? Вроде перспективная штука была. Плюсы, все дела.
Плюсы
Зачем тогда оно, если уже есть Qt?




