Комментарии 9
Во многом вы не правы с отношением к сборке.
Например, bash входит в стандатрый LInux.
Можно смело писать скрипты с #!/bin/bash
Запускать Python отдельнм скриптом вместо бинарника это очень даже Linux way. Ничего плохого в этом нет.
Ну и так далее.
Там проблемы в том что таури кое что отсекает от бинарника поэтому скрипт и был написан. Скрипт это лишнее в любом случае ибо бинарник удобнее без него запускать. Сама суть python бинарника в таком простом приложении, которая ещё и по api работает с фронтендом избыточна. Его избыточность больше побудила отказаться от питона.
Все равно не понимаю, что именно вы пытаетесь сэкономить. Если бэк тащиться в комплекте, то это пипец, какое сложное приложение, и нужно думать об универсальности, совместимости, удобстве сборки и простоте архитектуры, а не о количестве файлов или скриптов. Так-то можно и руками инсталлятор в deb нафигачить.
А вообще, хороших путей особо нет. Или откровенные монстры типа электрона, или вот такие велосипеды, или старые добрые десктоп-приложения на Qt/JavaFx/C#, которые тоже миллион файлов тащат и специальных скриптов для запуска требуют.
Ну на самом деле приложение не сложное. Поэтому само наличие питона там всё усложняет. Без питона там ни скрипт ни бинарник не нужен. Уже экономия сложных действия. И вообще Rust быстрее питона и на нём тоже можно было написать довольно сложную логику. Поэтому ну не нужен там питон совершенно. Мне как автору иногда интересно показывать проблемы кода, которые редко кто показывает. Убираю бинарник, убираю питон, убираю кучу конфига от прекомита, убираю uv, убираю nuitka. Сразу минус куча проблем.
Я знаю про QT и это хорошо когда вам нужна только десктоп версия. Я вот например хочу делать внешний вид одним и тем же способом везде поэтому мне не очень QT бы подошёл.
Электрон да весит дофига тяжёлый очень
Я не могу представить такой Linux, чтобы в нём запускались гуи, а питона при этом не было. Поэтому зачем тащить с собой питон непонятно. Разве что вам безальтернативно нужен питон 3.14.
#!/usr/bin/env sh Почти всегда всё равно будет вызовом /bin/bash.
Ну и наконец, по скриншоту приложения, на Tauri, я ожидал бы, что оно весит 10Мб без сжатия, а не 100Mb в squashfs. Как так умудряются...
Там бинарник с бекеном был на FastApi что является очень избыточным делом. Там есть Rust и JS этого достаточно чтоб написать что угодно. Там не просто не нужны отдельные зависимости там весь этот бинарник с бекендом не нужен вообще как и работа с api, uvicorn внутри.
Ну кстати говоря deb и rpm весят всего 4 мб. Это Appimage такой огромный. Он зависимости тащит от своего веб поэтому и весят они столько.

Kawai-Focus 2.2: Python-бинарник в Tauri — проблемы и альтернативы