QT — это мир в себе, притом не открытый. Продукт вроде и не плохой, но риск что прекратят поддержку присутствует.
Какие есть альтернативы для создания GUI для кросс-платформы (Win, MacOS, Linux)? Electron и прочее на основе HTML-Layout — не подходит из-за тормозов.
Такая идея возникла. Вот тот же OpenGL вроде вполне себе кросс-платформенный. Может есть некая библиотека для создания GUI на его основе?
Здравствуйте, Shmj, Вы писали:
S>Такая идея возникла. Вот тот же OpenGL вроде вполне себе кросс-платформенный. Может есть некая библиотека для создания GUI на его основе?
Будешь смеяться, но Unity. Вполне подходит даже не только для игр или графики, но и для приложений с обычным GUI. Все платформы, включая Web из коробки. Ну, единственный минус — дистрибутивы где-то от 40 мегабайт начинаются, даже HelloWorld.
Здравствуйте, 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 бесплатно.
Здравствуйте, Shmj, Вы писали:
S>Какие есть альтернативы для создания GUI для кросс-платформы (Win, MacOS, Linux)?
Qt5 это ещё и Android, причём сразу простой перекомпиляцией, без QML. На C++ ещё есть GTK, wxWidgets, Ultimate++.
S>Такая идея возникла. Вот тот же OpenGL вроде вполне себе кросс-платформенный.
Qt тоже может использовать OpenGL как один из контекстов рисования. Ещё учитывай, что Qt не требует процентного отчисления денег авторам и правообладателям. Твоя программа это только твоя программа, а не заплатите создателям движка проценты с выручки.
S>Продукт вроде и не плохой, но риск что прекратят поддержку присутствует.
По сути Qt это как раз наименее рисковый вариант для стороннего разработчика. Приложение на его основе всё равно скомпилируется. Более того, можно скомпилировать саму библиотеку самостоятельно. Возьми тот же Qt4, он до сих пор прекрасно работает.
На OpenGL тоже есть различные графические библиотеки, но набор виджетов у них минимальный. Для игры где всё прорисуют художники может и пойдёт, а для обычного десктопного приложения нет смысла. Ну а какие-нибудь продвинутые игровые движки сильно платные. Есть правда и бесплатные.
Здравствуйте, 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 но очень добротно (раньше глючило на отдельных машинах шо пипец).
Что касается тормозных технологий у меня на i4790K с 32Gb мало что тормозит. А на старом нетбуке тоже самое может и вовсе нормально не запуститься. Та же Android Studio на последнем сразу фейл. Браузеры кое как работают. Тоже самое и на старом смартфоне десятилетней давности. Qt5 ещё работает, а есть приложения, которые лучше никогда не запускать.
Здравствуйте, Shmj, Вы писали:
S>QT — это мир в себе, притом не открытый. Продукт вроде и не плохой, но риск что прекратят поддержку присутствует.
S>Какие есть альтернативы для создания GUI для кросс-платформы (Win, MacOS, Linux)? Electron и прочее на основе HTML-Layout — не подходит из-за тормозов.
Собственно, HTMLayout. Никаких тормозов не добавляет, наоборот — побыстрее нативных компонентов будет.
Здравствуйте, Zhendos, Вы писали:
Z>OpenGL уже не совсем кросс-платформенный. Apple объявил его "deprecated". Z>Да и Windows не все так гладко с его поддержкой, тот же Qt 5 написанный поверх OpenGL ES на Windows использовал Angle, Z>для трансляции в OpenGL ES в DirectX.
Не совсем так. По умолчанию Qt 5 всё же собирается под OpenGL ES. Под Angle его придется собирать специально, указывая соответствующие флаги. С самим OpenGL под Windows никах проблем нет.
А сколько занимает бандл после deploy_qt, смотрели? У меня на маке, Qtшная qml .app переваливает за 50Мб, причем без доп ресурсов. Может там и можно вручную вычистить ненужные dll'и. Но обычно вот так, качаешь Qt приложение — бандл там обычно по весу на уровне с электроном, 100-150 минимум.
V>Что касается тормозных технологий у меня на i4790K с 32Gb мало что тормозит. А на старом нетбуке тоже самое может и вовсе нормально не запуститься. Та же Android Studio на последнем сразу фейл. Браузеры кое как работают. Тоже самое и на старом смартфоне десятилетней давности. Qt5 ещё работает, а есть приложения, которые лучше никогда не запускать.
У меня и электронный vs code нормально работает на слабеньком планшете на intel atom. Ожидать скорости от IDE и полноценных браузеров (не просто движков) на древнем железе как-то странно, они тяжелые сами по себе, независимо от того, что там используется для рендеринга UI элементов.
Здравствуйте, Михaил, Вы писали:
М>А сколько занимает бандл после deploy_qt, смотрели? У меня на маке, Qtшная qml .app переваливает за 50Мб, причем без доп ресурсов. Может там и можно вручную вычистить ненужные dll'и. Но обычно вот так, качаешь Qt приложение — бандл там обычно по весу на уровне с электроном, 100-150 минимум.
Консольное Hello world приложение занимает 35 Мб. Там правда, только Qt5Core.dll и translations. Но из этого 24Мб занимает vc_redist.x64.exe
Здравствуйте, Shmj, Вы писали:
S>QT — это мир в себе, притом не открытый. Продукт вроде и не плохой, но риск что прекратят поддержку присутствует.
Срок жизни твоего проекта какой, Шимжа? Явно не 10 лет будет. QT ещё нас всех переживёт если даже такой шлак как gtk и wxWidgets поддерживается до сих пор, то QT подавно будет поддерживать как минимум по инерции лет 20. Ты с горизонтом планирования разберись. Очевидно, что если твой проект проживёт 3-5 лет, то ты можешь потом и реинвестировать деньги от проекта в переход на новую платформу или тупо запилить весь UI нативно, а если нет, то чего думать про это? S>Какие есть альтернативы для создания GUI для кросс-платформы (Win, MacOS, Linux)?
Буду альтернативным, Flutter. S>Такая идея возникла.
Куча, только все они как раз таки теряют поддержку со стороны разработчика в течении 3-5 лет, а QT живёт. Даже амуде на QML сделали своё ПО для десктопа.
Здравствуйте, Михaил, Вы писали:
М>А сколько занимает бандл после deploy_qt, смотрели? У меня на маке, Qtшная qml .app переваливает за 50Мб, причем без доп ресурсов.
Я не рекомендую использовать QML, так выше и написал "без QML". Причём дело здесь не в занимаемом объёме.
Приложение untitled в Qt5, практически Hello World.
Общий объём 19.5 МиБ. А навыдумывать можно много всего. Некоторые, кстати, и этим объёмом недовольны. Ну, статическая компиляция им в помощь. Или пусть уходят на что-то более легковесное.
Здравствуйте, Shmj, Вы писали:
S>Electron и прочее на основе HTML-Layout — не подходит из-за тормозов.
Всем подходит, в том числе компаниям мирового уровня. Я вот недавно столкнулся с прибором медицинским. В нём крохотный ARM процессор от NXP, линукс. И в нём электрон и весь интерфейс на электроне на крохотном экранчике. Не такой уж тривиальный интерфейс между прочим. И работает без всяких тормозов. У Элона Маска в космическом корабле интерфейс на Электроне.
А тебе не подходит? Кажется ты слишком горд.
S>Такая идея возникла. Вот тот же OpenGL вроде вполне себе кросс-платформенный. Может есть некая библиотека для создания GUI на его основе?
S>Какие есть альтернативы для создания GUI для кросс-платформы (Win, MacOS, Linux)? Electron и прочее на основе HTML-Layout — не подходит из-за тормозов. https://github.com/andlabs/libui
не благодари.
А можно нескромный вопрос, зачем?
S>QT — это мир в себе, притом не открытый. Продукт вроде и не плохой, но риск что прекратят поддержку присутствует. S>Какие есть альтернативы для создания GUI для кросс-платформы (Win, MacOS, Linux)? Electron и прочее на основе HTML-Layout — не подходит из-за тормозов. S>Такая идея возникла. Вот тот же OpenGL вроде вполне себе кросс-платформенный. Может есть некая библиотека для создания GUI на его основе?
Здравствуйте, Михaил, Вы писали:
М>А сколько занимает бандл после deploy_qt, смотрели?
Да. У меня инсталятор виндового приложения на винде занимает 33 метра без всякой особой доработки напильником со стандартной Qt.
М>У меня на маке, Qtшная qml .app переваливает за 50Мб, причем без доп ресурсов. Может там и можно вручную вычистить ненужные dll'и. Но обычно вот так, качаешь Qt приложение — бандл там обычно по весу на уровне с электроном, 100-150 минимум.
+1. Тоже самое приложение которое на виде 33 метра на маке почему-то за сотню. Пока не в приоритете, но надо бы разобраться и допилить.
Здравствуйте, удусекшл, Вы писали:
У>Консольное Hello world приложение занимает 35 Мб. Там правда, только Qt5Core.dll и translations. Но из этого 24Мб занимает vc_redist.x64.exe
Реальных зависимостей там чуть больше 1-го мегабайта c MSVC 2019.