LINUX.ORG.RU

На чем создать кроссплатформенную программу?

 


1

3

Я хочу сделать программу, которая бы работала и на GNU/linux, и на windows. На qt. Ну и вот у меня возник вопрос, а на сколько позорно делать кроссплатформенную программу на пайтоне. Ну не на js и golang же. Только если конечно сделать версию проги под винду на шарпе.

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

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

Сначала программу нужно написать(1). Потом возможностями наполнить(2). Потом пользовательскую базу набрать(3) и вот уже потом, когда появится много пользователей, имеет смысл ради некоторых из них заморочиться(4).

И мы же все понимаем, что основной затык будет на пункте (1), а до (3) она скорее всего не доберётся. Так что (4) можно пренебречь и просто заниматься тем, что нравится.

ugoday ★★★★★
()

На кутях и выполняй. То есть на крестах.

И, да, только не кроссплатформенная, а переносимая, ибо

и на GNU/linux, и на windows

sparkie ★★★★★
()

Возьмите Sciter или Sciter.Quark. Биндинги есть к Го, Питону и прочим.

Quark contains HTML/CSS rendering engine in its 5 MB.
Out of the box it can build Windows (Intel and ARM), MacOS (Intel and ARM) and Linux (Intel and ARM, e.g. Raspberry Pi) applications. Android and iOS are coming.

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

Я открыл для себя nuitka + pyside6. Ну конечно nuitka может и не круто использовать, но зато работает хотя бы.

enot_obrmot
() автор топика

GUI на Python довольно-таки неплохая тема, если не пишется числодробилка.

Какую библиотеку взять?

Как уже тут писали, можно использовать tk (tkinter). Если смущает олдскульный интерфейс - берите customtkinter или используйте ttk тему (раз, два, три). Материалов по библиотеке тонна (рекомендую Tkinter 8.5 reference: a GUI for Python от JohnW. Shipman), думаю разобраться не составит проблемы. Замечу, что библиотека десктопная, на мобилках и в вебе не запуститься. minimal requirements у библиотеки отсутсвуют, что очень приятно :-)

Ещё очень нравится kivy - Pure-Python GUI фреймворк. Работает на десктопе и мобилках.

Также недавно трогал Slint, понравилось, но это уже Rust. Очень похоже на QML.

Также могу предложить взглянуть на Flutter. Не пробовал его, так что ничего сказать не могу.

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

Я выбрал pyside6(qt6) + python. Чтобы на винду собирать «exe» взял nuitka, и работает в целом неплохо.

enot_obrmot
() автор топика

Никогда не отмоешься после этого.

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

Попробовал как-то просто отдать бинарник с рекомендациями установить кьют — ну это было больно :)

Раньше похожим образом GIMP ставился. Надо было отдельно качать саму программу и рантайм GTK. Сейчас всё это в одном установщике.

Radjah ★★★★★
()

На питоне самое оно.

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

Ничто не запрещает уже на этапе (1) задуматься, что ты приносишь в этот мир, и не станет ли твоя программа ещё одним кирпичиком, заставляющим людей тратить дополнительные деньги и загрязнять планету.

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

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

ugoday ★★★★★
()

а на сколько позорно делать кроссплатформенную программу на пайтоне.

Ничего сильно позорного, по идее, нет, разве что запаковывать под оффтопики тяжелее будет.

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

если плюсы как инкремент подобных происшествий в будущем то да, пожалуй

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

Ну ладно… Может просто кто-то на семерке. Хотя мне кажется qt6 туда можно скомпилить

enot_obrmot
() автор топика

Бери уже Electron, Tauri, Flutter или их производные. Для прикладного софта более чем годно, если руки растут с нужных мест. Если не с нужных — проблема в другом и тебе сначала за матчасть браться

entropy-ronin
()

Если тебе не торговать твоей прогой в калашном ряду, если нужен вариант «пришел в непонятные глыбеня, стоит непонятная тачка с хз чем на борту, но надо запустить и работать» - самый вменяемый вариант java/swing. Скочал jar-ник и оно сразу запускается и пофик ХР там или 11е окна, старый линух или последняя макось. Занимает 3 копейки, не требует перекомпиляции, рантайм ставится на раз-два.

Да, не понтово.. Да, пацаны засмеют.. Но, с-ка, вариант «пришел, 5 мин и заработало» - лучше просто нет. Я, по крайней мере, не нашел.

chuzhoi
()

Сложней сказать, на чем нельзя сделать кроссплатформенную программу.

vbr ★★★★
()

Правильно тебе говорят.

Нечего пердолиться в Си/С++ и прочий средне-низкий уровень там, где в этом нет нужды. Уменьшай сложность там, где это возможно и не приносит критических проседаний производительности. Если ты спец по петухону, пиши на петухоне. Там есть все биндинги.

Я бы советовал сделать вебню и не заморачиваться. Оно удобное, гибкое и простое. И вообще, все росказни про медленный веб — враки.

Он же почему медленный… Потому что плохо устроен? Потому что виртуальную машину дураки не смогли оптимизировать? Или потому что отрисовщик говно?

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

К тому же, современный JS предоставляет все средства для комфортной разработки. Почитай про веб-компоненты и пользовательские элементы. На этом вполне можно пилить приложения приличного размера, оно удобное, простое как палка и быстрое.

Обойдись минимумом библиотек. TS, CSS-препроцессор, линтер и что-то для управления состоянием, если пригодится. Остальное по мелочи и если очень нужно. Ещё есть C FFI и можно писать нативные расширения, но вряд ли тебе понадобится.

Mozilla Thunderbird, кстати, оказалось, что тоже вебня. Почему-то не тормозит. Под капотом как раз всё сделано на пользовательских элементах. Реактов и ангуляров туда чота не завезли.

Или, как уже сказал другой регистрант, можешь взять Vue 2/3 и, самое главное не городить там огород.

В любом случае, будешь писать как человек, а не как макака — всё у тебя будет айс.

P.s. можешь ещё посмотреть на ElectronNET.

P.p.s. сцуко, сокращал-сокращал, и все равно простыня. Извиняюсь.

witaway
()
Последнее исправление: witaway (всего исправлений: 3)
Ответ на: комментарий от enot_obrmot

числодробилка это что? ну я хочу создать аналог pidgin с интерфейсом как у телеги))) В целом я разберусь с протоколами, но вот gui прям боль.

Уже есть. На пайтоне как раз. Gajim называется.

pekmop1024 ★★★★★
()

пиши на ассемблере, на ассемблере не позорно.

antech
()

Пайтон для дата-сатанистов. Оставьте его им. Пишите на плюсах, если считаете себя профессиональным программистом.

Infra_HDC ★★★★★
()

Даже на дотнете не позорно. Позорно ничего не делать.

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

Если сильно глубоко в недра культяпок лезть не надо (глубоко это например если хочется дизайн делать не системный, а скажем специфичный какой-то или окошки слишком моднявые), то pyqt за глаза хватит. Мне не хватило только когда я смотрел можно ли делать что-то вроде synapse у чего окошко стилизованное. Там да, проще на C++.

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

числодробилка это что

движок нейросетей (ака сама матричная алгебра), научные расчёты, игры с 3D графикой или интенсивным обсчётом игровых механик в 2D (factorio для примера хоть и 2D но в поздней стадии игры весь процессор выжрет, потому что слишком много всего игрок будет делать в секунду), конвертеры мультимедии, архиваторы, брутфорсеры, короче там где реально дофига операций в секунду надо делать.

peregrine ★★★★★
()

на сколько позорно делать кроссплатформенную программу на пайтоне

На 10.

ya-betmen ★★★★★
()
Ответ на: комментарий от Norgat

Итого, если сделать на Электроне, то ныть будут 80%+1.5 пользователя.

Gentooshnik ★★★★★
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.