LINUX.ORG.RU

Cross-language gui

 


0

3

Всем привет. Появилась необходимость писать кросс приложения с gui. Как я сейчас понимаю, два основных варианта это gtk и qt. Но неужели не существует инструмент не зависящий от языка программирования и с низким порогом вхождения?



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

кросс приложения с gui
и с низким порогом вхождения

Жаба же. С ней даже шимпанзе управится.

znenyegvkby
()

У GTK+ есть привязки к множеству языков.

equeim ★★
()

Тут кросс-платформенность на костылях и припарках, а ты хочешь ещё cross-language.

Бери PyGTK и вперёд.

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

GTK кал но это именно оно - не зависит от ЯП, есть для всего

хотя я предпочитаю Qt5

I-Love-Microsoft ★★★★★
()

qt, кстати, даёт возможность писать на: c++, руби, питон, java, c#, perl(?), object pascal(чур меня), haskell — список довольно неплох, и, в общем, покрывает все значимые на сегодняшний день ЯП. Но это если нет надобности гнаться за версией qt.

anonymous
()

Но неужели не существует инструмент не зависящий от языка программирования и с низким порогом вхождения?

Вебня

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

Вебня

гвоздями прибита к JavaScript

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

список довольно неплох

Там всё дряблое и неактуальное, под четвёрку. Взять тот же Jambi или PySide.

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

К счастью, ничего такого нет, иначе «десктопные» программы делал бы любой идиот, осиливший CSS и HTML.

EXL ★★★★★
()

А зачем тебе писать гуй одновременно на нескольких языках? Вынеси всё, что связано с интерфейсом, в отдельную подсистему или даже отдельный процесс и пиши его на одном языке, гораздо меньше геморроя себе наживёшь.

Gvidon ★★★★
()

qml

Есть биндинги для пистона, можно из плюсов управлять, можно вообще всё на qml писать.

Может работать и на десктопе, на мобильных девайсах и на всяких qnx.

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

Так вот и фигня в том что в electron, тцоы и тд используется чисто веб технологии - взяли хромиум и ноду и получили среду весом в 100мб. удобно - да не спорю. но нафиг это надо?) у меня желание писать интерфейсы на всем знакомым html/css, а код на любом скриптовом или исполняемом языке)

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

Sciter?

А так - нет. Увы.

Самый близкий к идеалу вариант - это QML, но он пока сильно сырой, жирный и непопулярный. А использование HTML/CSS для десктопа тоже не вариант, ибо нужен полноценный браузер.

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

удобно - да не спорю. но нафиг это надо?

Я им заинтересовался было, но выбросил после того, как не смог его из исходников собрать (а LFS с KDE собирал раньше при этом). Такой трендец, «исходники» которого с гитхаба тупо тянут уже собранные неизвестно кем бинарники и линкуют их, точно не нужен.

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

Самый близкий к идеалу вариант - это QML, но он пока сильно сырой, жирный и непопулярный.

4.2

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

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

В идеале конечно это html + css, с возможность управлять свойствами элементов через api например на си)

К счастью, ничего такого нет, иначе «десктопные» программы делал бы любой идиот, осиливший CSS и HTML.

Qt WebChannel enables peer-to-peer communication between the host (QML/C++ application) and the client (HTML/JavaScript application). The transport mechanism is supported out of the box by the two popular web engines, Qt WebKit 2 and Qt WebEngine (experimental). It works on all browsers that support Qt WebSockets, enabling Qt WebChannel applications to run in any JavaScript runtime. Additionally, a custom transport mechanism can also be implemented using Qt WebSockets to support Qt WebChannel-based communication.

http://doc.qt.io/qt-5/topics-web-content.html

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

Где там 4.2?

Архив со всеми нужными для QML либами будет под 20МБ, если не больше.

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

Qt в стагнации, как и сам QML.

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

Архив со всеми нужными для QML либами будет под 20МБ, если не больше.

20 метров в 2016 году — жирно?

QML, по сути, ни кто не использует.

https://www.qt.io/qt-in-use/

Qt в стагнации, как и сам QML.

https://habrahabr.ru/post/282505/

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

Архив со всеми нужными для QML либами будет под 20МБ, если не больше.

это ты оптимист.

Помимо размера, там еще постоянные глюки с прорисовкой (при нокии такой херни не было). реально изъебался один раз, когда на венде7 моя поделка рисовала черные квадраты вместо окон. Может qtq годный с какими-то коммерческими компонентами, но так ... только для наколенчных поделок, кторые дальше локалхоста не выпустишь.

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

Я люблю Qt и постоянно на нем пишу, но да:

  • 20МБ - это жирно, ибо они тащат свою стандартную либу, которая в нормальных языках из коробки
  • такие списки «пользователей» у каждой лабуды есть
  • на лине не видел ни одной проги на QML, все продолжают клепать на виджетах
  • у Digia, или Qt Project, кто он там сейчас, людей на разработку походу вообще нет. В «стабильном»/LTS 5.6 выпилили QtWebkit, сломав все что можно, заменив его неработающим QtWebEngine. Новых фич в самой либе давно не было. Количество багов, в том числе и в QtC просто сказочное.
  • «направленной на поддержку мобильных платформ» - вот-вот. Десктоп допилили бы...
RazrFalcon ★★★★★
()
Ответ на: комментарий от anonymous

Ну не нужно так жирно. Тоньше нужно, тоньше.

На Qt написано тонны софта, в том числе и под винду.

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

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

Нужнобрать вариант с MSVC если нет видеодрайвера, там нормально работает Software rendering

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

на самом деле можно еще взять собраную месу, что я и делал.

anonymous
()

Рекомендую яву и вынеси гуйню в веб. Его можно писать на той же яве. Вместо сервера бери jetty или напиши сам простой обработчик запросов.

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

20МБ - это жирно, ибо они тащат свою стандартную либу, которая в нормальных языках из коробки

В нормальных это java и C#?

такие списки «пользователей» у каждой лабуды есть

А какие списки вам надо?

на лине не видел ни одной проги на QML, все продолжают клепать на виджетах... Десктоп допилили бы...

Драйвер AMD вроде на него переписала, недавно тут проскакивала тема, но на самом деле для десктопа у них преимуществ не так много.

у Digia, или Qt Project, кто он там сейчас, людей на разработку походу вообще нет. В «стабильном»/LTS 5.6 выпилили QtWebkit, сломав все что можно, заменив его неработающим QtWebEngine. Новых фич в самой либе давно не было. Количество багов, в том числе и в QtC просто сказочное.

Багов прилично, тут не поспоришь, но далеко не всем надо встраивать WebContent, потому не такой уж QML сырой, вполне готов для использования.

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

В нормальных это java и C#?

Не дай бог. Rust/Swift/Go.

Чтобы не возникало дальнейших вопросов, я в первую очередь говорю о QtCore, который зависит от stdc++, который зависит от libc/libm. Что дает нам под 10МБ только для использования банальных контейнеров, строк и прочей необходимой лабуды.

Драйвер AMD вроде на него переписала

Гуи, разве что. Драйвер то на сях.

А какие списки вам надо?

На QtWidgets написан KDE + 50% linux софта, Maya, Battle.net и тд. QML таким похвастаться не может.

Поэтому приходится жевать кактус Qt, ожидая нормальный GUI на rust/swift.

RazrFalcon ★★★★★
()

Tcl/Tk. GUI должен быть всегда отделен от логики, так что по фиг какой язык.

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

А зачем тогда Tcl/Tk? Просто Tk же (независимо от языка). Впрочем, совсем без понимания, как там оно устроено в тикле, пожалуй, обойтись не удастся.

TeopeTuK ★★★★★
()

Действительно, web — отличный гуй.

vladimir-vg ★★
()
Ответ на: комментарий от I-Love-Microsoft

Проблема не в том, что это много или нет, а в том, что там 20МБ мусора.

RazrFalcon ★★★★★
()

не зависящий от языка программирования

Такого нет. Думаю, для любого тулкита найдётся ЯП, который его не поддерживает.

Кто хотел снизить зависимость от ОС, ЯП и тулкитов - давно сбежали на HTML, но с порогом вхождения теперь и там полная ЖО (знакомые веб-разработчики жалуются, что вместо одного языка и пары-тройки библиотек надо держать в голове полсотни технологий), да и для конечного пользователя получаемый результат по удобству весьма уныл.

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

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

QML, по сути, ни кто не использует.

Последние версии Stellarium, например.

hobbit ★★★★★
()

IUP
Pure Basic

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

А на фига без Tcl? Tcl для этой цели подходит лучше всех.

anonymous
()

Cross-language gui
инструмент не зависящий от языка программирования и с низким порогом вхождения?

Qt5, GTK.

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

Но это если нет надобности гнаться за версией qt.

anonymous
()
fltk еще есть, fltk.org ;
прослойка wxwidgets.org к натив-видгетам ;
и древний plib ( plib.sf.net )
anonymous
()

Как я сейчас понимаю, два основных варианта это gtk и qt

Ещё wxWidgets

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