Альтернатива QT для кросс-платформы
От: Shmj Ниоткуда  
Дата: 24.01.22 18:33
Оценка: +1 :))) :)))
QT — это мир в себе, притом не открытый. Продукт вроде и не плохой, но риск что прекратят поддержку присутствует.

Какие есть альтернативы для создания GUI для кросс-платформы (Win, MacOS, Linux)? Electron и прочее на основе HTML-Layout — не подходит из-за тормозов.

Такая идея возникла. Вот тот же OpenGL вроде вполне себе кросс-платформенный. Может есть некая библиотека для создания GUI на его основе?
Re: Альтернатива QT для кросс-платформы
От: Nuzhny Россия https://github.com/Nuzhny007
Дата: 24.01.22 18:34
Оценка: 3 (1) +5
Здравствуйте, Shmj, Вы писали:

S>QT — это мир в себе, притом не открытый. Продукт вроде и не плохой, но риск что прекратят поддержку присутствует.


Если бросят авторы, то подхватит KDE. Кажется, что это достаточно сильные гарантии.
Re: Альтернатива QT для кросс-платформы
От: Homunculus Россия  
Дата: 24.01.22 18:44
Оценка:
Здравствуйте, Shmj, Вы писали:

S>Такая идея возникла. Вот тот же OpenGL вроде вполне себе кросс-платформенный. Может есть некая библиотека для создания GUI на его основе?


Будешь смеяться, но Unity. Вполне подходит даже не только для игр или графики, но и для приложений с обычным GUI. Все платформы, включая Web из коробки. Ну, единственный минус — дистрибутивы где-то от 40 мегабайт начинаются, даже HelloWorld.
Re: Альтернатива QT для кросс-платформы
От: Zhendos  
Дата: 24.01.22 19:02
Оценка:
Здравствуйте, Shmj, Вы писали:

S>QT — это мир в себе, притом не открытый. Продукт вроде и не плохой, но риск что прекратят поддержку присутствует.


S>Какие есть альтернативы для создания GUI для кросс-платформы (Win, MacOS, Linux)? Electron и прочее на основе HTML-Layout — не подходит из-за тормозов.


S>Такая идея возникла. Вот тот же OpenGL вроде вполне себе кросс-платформенный. Может есть некая библиотека для создания GUI на его основе?


OpenGL уже не совсем кросс-платформенный. Apple объявил его "deprecated".
Да и Windows не все так гладко с его поддержкой, тот же Qt 5 написанный поверх OpenGL ES на Windows использовал Angle,
для трансляции в OpenGL ES в DirectX.

Плюс нужен API для работы с мышкой, клавиатурой, окнами, звуком, сетью, файлами.
И т.д. и т.п.

Да и сама проблема что поддержки не будет мне кажется надуманной.
Вот сделали Qt LTS только за деньги, тут же KDE проект сделал форк и
теперь предоставляет всем желающим LTS бесплатно.
Re: Альтернатива QT для кросс-платформы
От: velkin Удмуртия http://blogs.rsdn.org/effective/
Дата: 24.01.22 19:21
Оценка: 5 (2) +1
Здравствуйте, Shmj, Вы писали:

S>Какие есть альтернативы для создания GUI для кросс-платформы (Win, MacOS, Linux)?


Qt5 это ещё и Android, причём сразу простой перекомпиляцией, без QML. На C++ ещё есть GTK, wxWidgets, Ultimate++.

S>Такая идея возникла. Вот тот же OpenGL вроде вполне себе кросс-платформенный.


Qt тоже может использовать OpenGL как один из контекстов рисования. Ещё учитывай, что Qt не требует процентного отчисления денег авторам и правообладателям. Твоя программа это только твоя программа, а не заплатите создателям движка проценты с выручки.

S>Продукт вроде и не плохой, но риск что прекратят поддержку присутствует.


По сути Qt это как раз наименее рисковый вариант для стороннего разработчика. Приложение на его основе всё равно скомпилируется. Более того, можно скомпилировать саму библиотеку самостоятельно. Возьми тот же Qt4, он до сих пор прекрасно работает.

На OpenGL тоже есть различные графические библиотеки, но набор виджетов у них минимальный. Для игры где всё прорисуют художники может и пойдёт, а для обычного десктопного приложения нет смысла. Ну а какие-нибудь продвинутые игровые движки сильно платные. Есть правда и бесплатные.
Re: Альтернатива QT для кросс-платформы
От: kov_serg Россия  
Дата: 24.01.22 19:57
Оценка: 9 (2) +2
Здравствуйте, Shmj, Вы писали:

S>QT — это мир в себе, притом не открытый. Продукт вроде и не плохой, но риск что прекратят поддержку присутствует.

https://www.copperspice.com/

S>Какие есть альтернативы для создания GUI для кросс-платформы (Win, MacOS, Linux)?

https://www.ultimatepp.org/
https://www.gtk.org/ http://www.gtkmm.org/en/
https://sciter.com/
http://wxwidgets.org/
S> Electron и прочее на основе HTML-Layout — не подходит из-за тормозов.
Просто прекратите общаться с тормозами

S>Такая идея возникла. Вот тот же OpenGL вроде вполне себе кросс-платформенный. Может есть некая библиотека для создания GUI на его основе?

С opengl обычно бывают глюки, может сейчас меньше, но всё же.
https://openjfx.io/ java но очень добротно (раньше глючило на отдельных машинах шо пипец).

Ну и до кучи
http://cegui.org.uk
https://github.com/AshampooSystems/boden
https://github.com/cnjinhao/nana
https://github.com/cycfi/elements
https://github.com/gammasoft71/xtd
https://github.com/mikke89/RmlUi
https://github.com/mitsuba-renderer/nanogui
https://github.com/ocornut/imgui
https://github.com/yue/yue
https://www.fltk.org
и это еще не полный список
Отредактировано 24.01.2022 20:00 kov_serg . Предыдущая версия .
Re: Альтернатива QT для кросс-платформы
От: Михaил  
Дата: 24.01.22 19:57
Оценка: 1 (1)
Здравствуйте, Shmj, Вы писали:

S>Electron и прочее на основе HTML-Layout — не подходит из-за тормозов.


Не такие уж они и тормозные. Тяжелые, ну так и Qt проекты получаются под сотню Мб.
Re[2]: Альтернатива QT для кросс-платформы
От: velkin Удмуртия http://blogs.rsdn.org/effective/
Дата: 25.01.22 01:39
Оценка: +2
Здравствуйте, Михaил, Вы писали:

М>Не такие уж они и тормозные. Тяжелые, ну так и Qt проекты получаются под сотню Мб.


Если проекты и получаются под сотню мегабайт, то явно не из-за Qt.

Qt 5.9.9 x64 GNU/Linux
libQt5Core.so    5.3 МиБ
libQt5Gui.so     5.7 МиБ
libQt5Widgets.so 6.2 МиБ
libQt5Network.so 1.6 МиБ
libQt5Sql.so     0.3 МиБ


Что касается тормозных технологий у меня на i4790K с 32Gb мало что тормозит. А на старом нетбуке тоже самое может и вовсе нормально не запуститься. Та же Android Studio на последнем сразу фейл. Браузеры кое как работают. Тоже самое и на старом смартфоне десятилетней давности. Qt5 ещё работает, а есть приложения, которые лучше никогда не запускать.
Re: Альтернатива QT для кросс-платформы
От: Don Reba Канада https://stackoverflow.com/users/49329/don-reba
Дата: 25.01.22 06:21
Оценка: +2
Здравствуйте, Shmj, Вы писали:

S>QT — это мир в себе, притом не открытый. Продукт вроде и не плохой, но риск что прекратят поддержку присутствует.


S>Какие есть альтернативы для создания GUI для кросс-платформы (Win, MacOS, Linux)? Electron и прочее на основе HTML-Layout — не подходит из-за тормозов.


Собственно, HTMLayout. Никаких тормозов не добавляет, наоборот — побыстрее нативных компонентов будет.
Ce n'est que pour vous dire ce que je vous dis.
Re[2]: Альтернатива QT для кросс-платформы
От: Videoman Россия https://hts.tv/
Дата: 25.01.22 07:28
Оценка: +1
Здравствуйте, Zhendos, Вы писали:

Z>OpenGL уже не совсем кросс-платформенный. Apple объявил его "deprecated".

Z>Да и Windows не все так гладко с его поддержкой, тот же Qt 5 написанный поверх OpenGL ES на Windows использовал Angle,
Z>для трансляции в OpenGL ES в DirectX.

Не совсем так. По умолчанию Qt 5 всё же собирается под OpenGL ES. Под Angle его придется собирать специально, указывая соответствующие флаги. С самим OpenGL под Windows никах проблем нет.
Re[3]: Альтернатива QT для кросс-платформы
От: Михaил  
Дата: 25.01.22 08:11
Оценка:
Здравствуйте, velkin, Вы писали:


V>Если проекты и получаются под сотню мегабайт, то явно не из-за Qt.


V>Qt 5.9.9 x64 GNU/Linux

V>
V>libQt5Core.so    5.3 МиБ
V>libQt5Gui.so     5.7 МиБ
V>libQt5Widgets.so 6.2 МиБ
V>libQt5Network.so 1.6 МиБ
V>libQt5Sql.so     0.3 МиБ
V>


А сколько занимает бандл после deploy_qt, смотрели? У меня на маке, Qtшная qml .app переваливает за 50Мб, причем без доп ресурсов. Может там и можно вручную вычистить ненужные dll'и. Но обычно вот так, качаешь Qt приложение — бандл там обычно по весу на уровне с электроном, 100-150 минимум.

V>Что касается тормозных технологий у меня на i4790K с 32Gb мало что тормозит. А на старом нетбуке тоже самое может и вовсе нормально не запуститься. Та же Android Studio на последнем сразу фейл. Браузеры кое как работают. Тоже самое и на старом смартфоне десятилетней давности. Qt5 ещё работает, а есть приложения, которые лучше никогда не запускать.


У меня и электронный vs code нормально работает на слабеньком планшете на intel atom. Ожидать скорости от IDE и полноценных браузеров (не просто движков) на древнем железе как-то странно, они тяжелые сами по себе, независимо от того, что там используется для рендеринга UI элементов.
Re[4]: Альтернатива QT для кросс-платформы
От: удусекшл  
Дата: 25.01.22 08:25
Оценка:
Здравствуйте, Михaил, Вы писали:

М>А сколько занимает бандл после deploy_qt, смотрели? У меня на маке, Qtшная qml .app переваливает за 50Мб, причем без доп ресурсов. Может там и можно вручную вычистить ненужные dll'и. Но обычно вот так, качаешь Qt приложение — бандл там обычно по весу на уровне с электроном, 100-150 минимум.


Консольное Hello world приложение занимает 35 Мб. Там правда, только Qt5Core.dll и translations. Но из этого 24Мб занимает vc_redist.x64.exe
Re: Альтернатива QT для кросс-платформы
От: Kernan Ниоткуда https://rsdn.ru/forum/flame.politics/
Дата: 25.01.22 09:20
Оценка: +2
Здравствуйте, Shmj, Вы писали:

S>QT — это мир в себе, притом не открытый. Продукт вроде и не плохой, но риск что прекратят поддержку присутствует.

Срок жизни твоего проекта какой, Шимжа? Явно не 10 лет будет. QT ещё нас всех переживёт если даже такой шлак как gtk и wxWidgets поддерживается до сих пор, то QT подавно будет поддерживать как минимум по инерции лет 20. Ты с горизонтом планирования разберись. Очевидно, что если твой проект проживёт 3-5 лет, то ты можешь потом и реинвестировать деньги от проекта в переход на новую платформу или тупо запилить весь UI нативно, а если нет, то чего думать про это?
S>Какие есть альтернативы для создания GUI для кросс-платформы (Win, MacOS, Linux)?
Буду альтернативным, Flutter.
S>Такая идея возникла.
Куча, только все они как раз таки теряют поддержку со стороны разработчика в течении 3-5 лет, а QT живёт. Даже амуде на QML сделали своё ПО для десктопа.
Sic luceat lux!
Re[4]: Альтернатива QT для кросс-платформы
От: velkin Удмуртия http://blogs.rsdn.org/effective/
Дата: 25.01.22 11:02
Оценка: +1
Здравствуйте, Михaил, Вы писали:

М>А сколько занимает бандл после deploy_qt, смотрели? У меня на маке, Qtшная qml .app переваливает за 50Мб, причем без доп ресурсов.


Я не рекомендую использовать QML, так выше и написал "без QML". Причём дело здесь не в занимаемом объёме.

Приложение untitled в Qt5, практически Hello World.
untitled.src.7z 1.54 КБ исходник
untitled.apk    6.69 МБ андроид
untitled.win.7z 5.71 МБ windows

Разархивированная виндовая версия untitled.win.7z
Qt5Core.dll
Qt5Gui.dll
Qt5Widgets.dll
libgcc_s_dw2-1.dll
libstdc++-6.dll
untitled.exe

Общий объём 19.5 МиБ. А навыдумывать можно много всего. Некоторые, кстати, и этим объёмом недовольны. Ну, статическая компиляция им в помощь. Или пусть уходят на что-то более легковесное.
Re: Альтернатива QT для кросс-платформы
От: vsb Казахстан  
Дата: 25.01.22 11:13
Оценка: 2 (1) +2
Здравствуйте, Shmj, Вы писали:

S>Electron и прочее на основе HTML-Layout — не подходит из-за тормозов.


Всем подходит, в том числе компаниям мирового уровня. Я вот недавно столкнулся с прибором медицинским. В нём крохотный ARM процессор от NXP, линукс. И в нём электрон и весь интерфейс на электроне на крохотном экранчике. Не такой уж тривиальный интерфейс между прочим. И работает без всяких тормозов. У Элона Маска в космическом корабле интерфейс на Электроне.

А тебе не подходит? Кажется ты слишком горд.

S>Такая идея возникла. Вот тот же OpenGL вроде вполне себе кросс-платформенный. Может есть некая библиотека для создания GUI на его основе?


От создателей Qt: https://sixtyfps.io/

Хотя если тебе Qt кажется ненадёжным, то вряд ли тебе вообще что-либо подойдёт.

Кстати обрати внимание, что Qt пишется именно так. QT это Quick Time.
Отредактировано 25.01.2022 11:14 vsb . Предыдущая версия . Еще …
Отредактировано 25.01.2022 11:14 vsb . Предыдущая версия .
Отредактировано 25.01.2022 11:13 vsb . Предыдущая версия .
Re: Альтернатива QT для кросс-платформы
От: vaa  
Дата: 26.01.22 02:55
Оценка:
Здравствуйте, Shmj, Вы писали:


S>Какие есть альтернативы для создания GUI для кросс-платформы (Win, MacOS, Linux)? Electron и прочее на основе HTML-Layout — не подходит из-за тормозов.

https://github.com/andlabs/libui
не благодари.
А можно нескромный вопрос, зачем?
☭ ✊ В мире нет ничего, кроме движущейся материи.
Re: Альтернатива QT для кросс-платформы
От: Максим Россия  
Дата: 26.01.22 08:39
Оценка: +1
S>QT — это мир в себе, притом не открытый. Продукт вроде и не плохой, но риск что прекратят поддержку присутствует.
S>Какие есть альтернативы для создания GUI для кросс-платформы (Win, MacOS, Linux)? Electron и прочее на основе HTML-Layout — не подходит из-за тормозов.
S>Такая идея возникла. Вот тот же OpenGL вроде вполне себе кросс-платформенный. Может есть некая библиотека для создания GUI на его основе?

Dear ImGui популярен в узких кругах.

https://www.youtube.com/watch?v=Du--cH01ZWI

Errare humanum est
Re[2]: Альтернатива QT для кросс-платформы
От: Skorodum Россия  
Дата: 28.01.22 09:36
Оценка:
Здравствуйте, velkin, Вы писали:

V>Qt5 это ещё и Android, причём сразу простой перекомпиляцией, без QML.

И iOS.
Re[4]: Альтернатива QT для кросс-платформы
От: Skorodum Россия  
Дата: 28.01.22 09:41
Оценка:
Здравствуйте, Михaил, Вы писали:

М>А сколько занимает бандл после deploy_qt, смотрели?

Да. У меня инсталятор виндового приложения на винде занимает 33 метра без всякой особой доработки напильником со стандартной Qt.

М>У меня на маке, Qtшная qml .app переваливает за 50Мб, причем без доп ресурсов. Может там и можно вручную вычистить ненужные dll'и. Но обычно вот так, качаешь Qt приложение — бандл там обычно по весу на уровне с электроном, 100-150 минимум.

+1. Тоже самое приложение которое на виде 33 метра на маке почему-то за сотню. Пока не в приоритете, но надо бы разобраться и допилить.
Re[5]: Альтернатива QT для кросс-платформы
От: Skorodum Россия  
Дата: 28.01.22 09:49
Оценка:
Здравствуйте, удусекшл, Вы писали:

У>Консольное Hello world приложение занимает 35 Мб. Там правда, только Qt5Core.dll и translations. Но из этого 24Мб занимает vc_redist.x64.exe

Реальных зависимостей там чуть больше 1-го мегабайта c MSVC 2019.

Для CMake:

...
# аргумент для windeployqt
list(APPEND ARGS "--no-compiler-runtime")
...
set(CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP TRUE)
include(InstallRequiredSystemLibraries)
install(PROGRAMS ${CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS} DESTINATION ./bin)
...

qt cmake
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.