LINUX.ORG.RU

Какой графический стек выбрать для легкого и долговечного приложения

 , ,


0

4

Пытаюсь написать приложение. Пока все не зашло далеко, хочу начать прикручивать какие то гуи к нему. Вопрос в том, что использовать, если хочется: а) легкого и отзывчивого интерфейса, даже если он выглядит как из 90-х, б) кросс платформенности (нужно покрыть минимум луинуксы 2020+ и винду 8.1+), в) чтобы было максимально живуче, г) желательно, чтобы все это можно было реализовать на питоне, т. к. я других ЯП не знаю.

Какие есть варианты? Или я ищу то, чего не существует? Веб не предлагать, я его потыкал по советам (джанго и фласк), ужаснулся и ушел.

Чтобы был какой-то контекст, приложение для работы с БД (sqlite). По сути делает запросы, заполняет, делает аналитику на основе данных по кнопочке «Сделать анализ» и тому подобное. Все локально. Если совсем питон не пойдет тут, скажите, куда смотреть с учетом того, что осваивать это будет в свободное время непрограммист.

Перемещено hobbit из general



Последнее исправление: hobbit (всего исправлений: 1)

fox toolkit, конечно.

Anoxemian ★★★★★
()

PyQt5/PySide

На ткинтер не рекомендую обращать внимание, он больше для учебных целях, там есть свои минусы, лучше сразу на нормальной либе пиши гую.

NorthernBlow
()

Tkinter.

Он идёт в стандартной поставке с Python. Не нужно ничего устанавливать и не нужно париться с лицензиями.

fsb4000 ★★★★★
()
Последнее исправление: fsb4000 (всего исправлений: 1)
Ответ на: комментарий от Entmatix

Да нормально будет работать, у тебя до кучи будет в распоряжении QtDesigner

NorthernBlow
()

Tkinter. Есть в стандартной поставке Python

saibogo ★★★★
()

Веб не предлагать

Передумай. Это задача идеально подходящая для деления на клиент (браузер) и сервер (микросервис или база данных). Она будет потенциально жить очень долго, т.к. и ту и другую часть легко менять полностью и независимо, по необходимости переливая логику с клиента на сервер и обратно.

raspopov
()
Ответ на: комментарий от raspopov

Дело не только в сложности этих фреймворков, но еще и в том, что нужна легковестность приложения. Запускать браузер для того, чтобы сделать простые манипуляции с БД? Мне кажется излишне, мягко говоря. Потом еще и по сто браузеров тестить на совместимость.

Entmatix
() автор топика
Ответ на: комментарий от Entmatix

А ты не монолит пиши прибитый гвоздями к фреймворку, а делай морду легко заменяемой.

slackwarrior ★★★★★
()

Если будете брать Tkinter (а для фронта к БД я бы его взял) смотрите на то какой импорт вам подсунут в туториале, потому что есть старая версия Tkinter которую до сих пор пихают в туториалы и новый Tkinter со свежим look&feel, импорты у них по разному называются (уж не помню как). Если нужно чтоб ещё и на Андроиде запускалось, то Kivy вам в руки.

mydibyje ★★★★
()

SDL 🤡

Несмотря на всю несерьёзность ответа, у SDL есть все шансы оказаться самым долговечным вариантом для Линукса 😁

alex1101
()
Последнее исправление: alex1101 (всего исправлений: 1)

Плюсую вариант с вебом.
Только тебе нужна не джанга, а bottle.py и HTML из 90х. И всё будет в ажуре. А по кроям в шоколаде

zolden ★★★★★
()

лёгкое

долговечное

графический интерфейс

кроссплатформенное

приложение

Сплошные противоречия. Я даже не могу вспомнить что-то похожее из существующего софта.

vvn_black ★★★★★
()
Последнее исправление: vvn_black (всего исправлений: 2)

Напиши на ModernGL. Клёвый биндинг питона к OpenGL. Окно нарисует тебе, даже переливаться будет если для расчёта цвета пикселей прикрутишь синусоиду

NorthernBlow
()
Ответ на: комментарий от alex1101

Несмотря на всю несерьёзность ответа, у SDL есть все шансы оказаться самым долговечным вариантом для Линукса 😁

У SDL такие же приключения, как и у какого-нибудь GTK+.

Есть SDL1 на котором до сих пор куча софта, а есть SDL2 на котором тоже куча софта, и на горизонте маячит SDL3.

EXL ★★★★★
()
Ответ на: комментарий от Entmatix

что нужна легковестность приложения. Запускать браузер для того, чтобы сделать простые манипуляции с БД?

Браузер всё равно уже стоит в любой системе (а в линукс их пихают по три штуки), поэтому его вес равен нулю в данном случае. И сетевой/интернет/смартфонный доступ тоже бесплатный получается.

Веб-серверную часть легко промоделировать на чём угодно, хоть Apache + PHP + SQLite, хоть Node.js в докере с MySQL, потом заменишь на что-нибудь, уже не суть важно.

И на будущее, вдруг программа дорастёт до уровня предприятия, тогда такое разделение позволит без труда подцепить её к энтерпрайз системе (типа 1С).

Зачем себя сразу загонять в прокрустово ложе? 🤔

raspopov
()
Ответ на: комментарий от alex1101

Почему несерьёзный, если нужен простой гуй то почему нет? Да хоть nuklear накинуть сверху и всё, всё в статику собрать и бед не знать.

LINUX-ORG-RU ★★★★★
()
Ответ на: комментарий от LINUX-ORG-RU

Компилишься с ним в статику и всё или таскаешь с собой.

Это можно было относительно бескровно на SDL1 сделать, но с SDL2 куча трудностей.

EXL ★★★★★
()
Ответ на: комментарий от vvn_black

Java + Swing

Кое-что двадцатилетней давности работает до сих пор.

timdorohin ★★★★
()
Ответ на: комментарий от vvn_black

Похоже, что автор темы сам об этом догадывается:

Или я ищу то, чего не существует?

Mischutka ★★★★★
()

желательно, чтобы все это можно было реализовать на питоне, т. к. я других ЯП не знаю.

Программа-максимум: попробуй поизучать плюсы. Да, надо будет везде явно объявлять типы (кстати, в Питоне, начиная с 3.5, это тоже можно делать), да, надо следить за тем, кто освобождает память, да, придётся привыкнуть к сумасбродной недомодульности. Зато ты сможешь писать код, который работает быстрее питонячьего во много раз (проверял). А QtCore добавит плюсам комфортную работу с юникодными строками и списками строк.

Ну а если тебе всё это сто лет не надо…

…программа минимум: оставайся на питоне, бери PySide2 (а если у тебя программа GPLная, можно и PyQt) и вперёд.

hobbit ★★★★★
()
Ответ на: комментарий от vvn_black

Сплошные противоречия.

Если брать самую древнюю из доступных версий Qt и учитывать совместимость кода с последующими кутями — вполне реально. Я так много лет тянул Qt 4.8, с поддержкой следующих до 5.15. Статический бинарь моего пет-проекта под винду с вкомпиленной Qt весит всего 10 метров, а для линуксов всегда можно подобрать совместимую версию Qt из системных реп. С переходом на Qt6 поддержку четвёрки, возможно, дропну (но это не точно). Так что на уровне лёгкости бинаря и долговечности исходников — вполне.

Есть, правда, нюанс, у меня это работает с плюсами. Получится ли так с питоном, не знаю, там ещё и версии самого питона придётся учитывать.

hobbit ★★★★★
()
Ответ на: комментарий от hobbit

Pyside6 может? пытаюсь pyside2 собрать с python 3.11 - не получается. И ошибка то невнятная на llvm чтото. Разработчики на pyside2 уже забили, гит перевели в архив.

irton ★★★★★
()
Ответ на: комментарий от EXL

А зачем JDK тащить с приложением?

iZEN ★★★★★
()

Qt для питона. Без вариантов.

ox55ff ★★★★★
()
Ответ на: комментарий от irton

Да, наверное. Сейчас посмотрел — уже сами кутешники рекомендуют

pip install pyside6
hobbit ★★★★★
()
Ответ на: комментарий от hobbit

Но если серьёзно, вроде бы на этой штуке написан прикольный плеер Tauon Music Box. Работает просто реактивно, что интересно.

alex1101
()
Ответ на: комментарий от alex1101

К слову, у taounmb гуй весьма нестандартный, взгляните хотя бы на полосы прокрутки слева и то, как устроены настройки.

dikey0ficial
()
Ответ на: комментарий от friedrich

https://github.com/rtrussell/BBCSDL/blob/master/src/SDL2_gfxPrimitives.c

Ныне SDL2 перевел на C++ и на его основе (и не только ее) GUI для OpenGL разрабатываю (2D и 3D controls + графика).
Одна из фич будет в том, что диалоги и графические алгоритмы можно будет создавать на основе метаданных (они много функциональней чем xml, ... ).

Forum0888
()
Последнее исправление: Forum0888 (всего исправлений: 2)

Как только ни извращаются чтобы не писать на жабе

DumLemming ★★★
()

нужно покрыть минимум луинуксы 2020+ и винду 8.1+

Это, кстати, жестоко. Есть полно людей с Windows 7 и Debian Oldstable.

P.S. Только заметил: при чём здесь General? Это, батенька, явный Development. Перенёс.

hobbit ★★★★★
()
Последнее исправление: hobbit (всего исправлений: 1)
Ответ на: комментарий от hobbit

Это, кстати, жестоко. Есть полно людей с Windows 7 и Debian Oldstable.

и Qt и Python прекратили поддержку поддержку Windows 7.

Qt с 6 версии.

Python с 3.9

fsb4000 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.