LINUX.ORG.RU
ФорумTalks

Будущее Qt и GTK+

 ,


0

4

Как вы думаете, что будет с этими фреймворками в будущем? Смотрю, что Qt развивается интенсивнее, сообщество там больше. Даже Unity и LXDE решили переписать с GTK+ на Qt.

Как по мне, стек программ на Qt лучше оных на GTK+ и нету той разрозненности в DE, которая царит в стане GTK+ (GNOME, Cinnamon, Mate). Кеды монолитны и форкать их не собираются, как форкают Гном.

Лично я за Qt. Ибо под капотом там посовременнее. Отличная документация и т.д. Хотя сишку я люблю, но она не предназначена для того, чтобы писать на ней GUI, как в GTK+.

Но я также за то, чтобы GTK+ жил, процветал и развивался. Конкуренция нужна всегда. И свобода выбора.

★★

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

https://chromium.googlesource.com/chromium/src.git/ /master/chrome/browser/ui...

Там от гтк, как я понял, остались чисто интеграционные вещи, типа файлового диалога и accessibility фишек. Сам по себе хромиум c 2014 года использует свой собственный тулкит - aura.

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

Сегодня все новые ГУИ пишут на ангулярях
Сегодня

Ключевое слово. Уже завтра это всё будет на помойке.

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

Весь мир переходит на GTK+3 и Qt 5.6.

Переходят вижу очень быстро

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

Кстати да, не скажу за моно (вроде бы gtksharp помер за неактуальностью), но у жабы швинг только эмулирует внешний вид, но не использует gtk напрямую - он как и Qt рисует виджеты сам. Javafx аналогично, но он даже не пытается. Вот SWT он heavyweight, да, юзает «нативные» компоненты в лице gtk.

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

Javafx аналогично

JavaFX uses GTK2 libraries and is unlikely to switch in the near future.

http://stackoverflow.com/questions/21093723/how-to-run-javafx-application-aga...

швинг только эмулирует внешний вид, но не использует gtk напрямую

Java on Linux currently uses GTK 2. This raises several issues:

There are a number of Java packages that use GTK. These include AWT/Swing, JavaFX, and SWT. SWT has migrated to GTK 3, though there is a system property that can be used to force it to use the older version. This mixing of packages using different GTK versions causes application failures. This issue is particularly noticeable with Eclipse, which is SWT based. JavaFX can coexist with either Swing or SWT.

Version availability: GTK 3 was released in 2011, and is the active development stream. While both version 2 and 3 are available by default on current common Linux distributions, this may not continue to be the case over the lifetime of JDK 9.

Later versions of SWT may drop the GTK 2 fallback support flag.

Some applications (e.g., Java Mission Control) mix JavaFX and SWT, and rely on the GTK 2 fallback support flag.

http://openjdk.java.net/jeps/283

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

Глядишь, скоро QtWidgets объявят deprecated и выбросят.

Как бы уже... только еще не выбросили.

Как я уже писал выше: GTK+ хорош только для линя. На других ОС использовать его не смысла. Что возвращает нас к Qt.

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

И зря. Plasma разжирела почти в 1.5 раза у меня, после переезда на 5-ку.

Сам QML - труп, ибо окошко с одной кнопкой ест 50МБ ОЗУ. Ну и ресайз тормозит сказочно, ну так а чё, зато opengl...

RazrFalcon ★★★★★
()
Ответ на: комментарий от EXL
$ sudo mv /lib64/libgtk-3.so.0.1800.6 /lib64/libgtk-3.so.0.1800.6~
$ sudo mv /lib64/libgtk-x11-2.0.so.0.2400.29 /lib64/libgtk-x11-2.0.so.0.2400.29~
$ eclipse
Eclipse:
GTK+ Version Check
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0
Eclipse:
An error has occurred. See the log file
/opt/toolkits/Android/eclipse/configuration/1463427745887.log.
$ cat /opt/toolkits/Android/eclipse/configuration/1463427745887.log | grep -i gtk
13:     /opt/toolkits/Android/eclipse/configuration/org.eclipse.osgi/395/0/.cp/libswt-pi-gtk-4528.so: libgtk-x11-2.0.so.0: cannot open shared object file: No such file or directory
14:     no swt-pi-gtk in java.library.path
15:     /home/exl/.swt/lib/linux/x86_64/libswt-pi-gtk-4528.so: libgtk-x11-2.0.so.0: cannot open shared object file: No such file or directory
16:     Can't load library: /home/exl/.swt/lib/linux/x86_64/libswt-pi-gtk.so
20:     at org.eclipse.swt.internal.gtk.OS.<clinit>(OS.java:38)
EXL ★★★★★
()

Qt

Очень жаль, шо гтк окружили упоротые гномеры, он и так говном был :/ и в какое говно они его скатят - непонятно.

FiXer ★★☆☆☆
()

Кеды монолитны

Это разве + ? Это же ужас, и как форкнешь такое... Гном форкают - потому что могут и видят в нём какой-то потенциал для развития =)
Главный плюс у DE - быть незаметной. KDE же лезет всюду с чёрти чем, в итоге на ровном месте тупит.
Qt тоже форкают, чтобы избавиться от ненавистного moc, чтобы переписать всё на новых ++. Так что не так уж всё в Qt и современно.
У julialang уже есть простая привязка к gnome, а код для Qt на julia - это что-то с чем-то.

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

Так правильно, swt на каждой системе оборачивает нативные компоненты, это тулкит подобный awt и wxwidgets.

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

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

Про JavaFX не знаю, но когда читал книжки по java, там писали что как минимум swing рисует себя полностью сам, у системы запрашивая только окошко, тут кст одно из ограничений, если сделать какой-нить докбар или что-то вроде его нельзя вытащить за пределы основного swing окна, надо сходу делать в отдельном окошке, если есть такая надобность.

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

Надо было тестировать на примере jconsole, вместо eclipse. ЕМНИП зависит от gtk2. jconsole не тянет SWT, который явно зависим от GTK.

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

Ну не будет в приложении с ГТК2+ смены DPI, но будет возможность выставить в настройках размер шрифтов. Если шрифты тянут другие размеры, то в чём принципиальная разница? Настроил и пользуйся, колбасить настройки дисплея ведь часто не надо.

Всякие галочки и кружочки в виджетах при этом не масштабируются. На 240 dpi уже и в checkbox сложно попасть мышью. Такая микрогалочка рядом с текстом «правильного» размера.

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

GTK уже можно пользоваться, если всё простить.

Так он говно же, ждём когда заинтродьюсат принцЫпиально новый тулкит, на который побегут все от этого мерзкого гтк, которого и убить жалко и геммора с ним...

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

Под этот мусор всю плазму переписали

Но зачем? Плазма не падает?

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

Это не важно

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

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

Сегодня все новые ГУИ пишут на ангулярях

ГУИ к чему? Опять какое-то планшетное говно и сверхЖЫРные сайты, которые мои ядра доводят до кипения (а планшет не поднимается сколен)?

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

В OpenSource мире ставка сделана на GTK+

История + инерция, теперь не знают как с этого говна и геммороя вылезть.

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

Вина тому — ранняя проприетарность Qt. Именно из-за жадности давно почивших в анналах истории трольтехов, ты, а также множество KDE'шников теперь плачут и колются, но продолжают кушать программы на GTK+.

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

Я хочу нормальную реализацию HiDPI, с масштабируемыми панельками, кнопками, пиктограммами и контролами. То, что ты предложил, это какие-то нищебродские костыли, нет уж, используй их сам. Весь мир переходит на GTK+3 и Qt 5.6.

Не нищебродам грамотность не нужна? В ГТК2+ выставляешь нужную настройку и размер кнопки автоматически привязывается к размерам надписей в них, которые ,внезапно, сделаны шрифтами, размер которых нормальные приложения менять умеют. Прочие элементы окошка тоже «резиновые», надо только правильно привязать их углы к другим элементам - не быдлокодеры это делать умеют. А пиктограммы с кнопок вроде ж выпилили из GTK+3

Весь мир переходит на GTK+3 и Qt 5.6.

Какая там доля линукса на десктопах?

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

У Java и у Mono бэкендом является именно GTK+. Куча специализированного софта на GTK+, который никто никогда не будет переписывать на Qt.

С джавой тебя носом уже ткнули, теперь покажи ту кучу на gtk. Вот на вскидку, что юзаю на Qt:

cisco packet tracer
guitar pro
nomachine nx

что не юзаю, но ставил поиграться:

wolfram mathematica
autodesk maya
wps-office
master pdf

конечно есть софт и на gtk, но тебе самому не надоело врать?

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

Всякие галочки и кружочки в виджетах при этом не масштабируются.

А вот это, плохо. Не хватает свойства объекта с привязкой их размера к чему-нибудь, например к тексту «0» набранному шрифтом из верхней панельки. Остаётся надеяться, что кто-нибудь в мате пропатчит.

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

Ну Qt софта больше, но и GTK не меньше. 60/40.

Из нужного софта на gtk: inkscape, gimp, gparted. Ну и chrome, sublime поверх gtk работаю, но там от него почти ничего нет.

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

Я уже сказал же:

There are a number of Java packages that use GTK. These include AWT/Swing, JavaFX, and SWT.

(c)

теперь покажи ту кучу на gtk

Thunderbird, Firefox, Chrome, Opera, Vivaldi зависят от GTK+
GIMP, Inkscape, Darktable
VMWare Player
Geany, Anjuta, Emacs, MonoDevelop, GVim, Sublime, Atom
Имеется ли аналог Pidgin на Qt?

Большинство современных DE в GNU/Linux используют именно GTK+: Pantheon, MATE, Cinnamon, GNOME 3, Unity, XFCE, LXDE и т. д.

На Qt сейчас только KDE 5 и LXQt. И с некоторой натяжкой TDE.

не надоело врать?

Не надоело находиться в мирке где Qt 5 якобы доминирует? Спустись в реальность. И вместо уличения кого-либо во «вранье» занялся делом бы и помогал портировать тот же Firefox на Qt: https://github.com/mozilla/gecko-dev/tree/master/widget/qt А то KDE'шники опять заноют, что темы гномеры им поломали.

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

так я и не говорю, что на гтк нужного нет, я этому болезному картину мира поправляю

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

Я уже сказал же:

ты просил любое и ты его получил, либо блефовал, либо врубал тупого, либо то и другое

Имеется ли аналог Pidgin на Qt?

очевидно, что всеобъемлюще использующий purple - нет, а так - да

Не надоело находиться в мирке где Qt 5 якобы доминирует?

это твои домыслы, а вот твой трёп - медицинский факт
у меня нет острой тулкитофобии, и юзаю я пиджин, да

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

Thunderbird, Firefox, Chrome, Opera, Vivaldi
Atom

Ничего, что из перечисленного - это всего две платформы? Firefox-based и chromium-based. И в обоих от gtk почти ничего нет, кроме базовых средств отрисовки.

Это как называть любой движок на sdl - написанным на sdl.

Большинство современных DE в GNU/Linux используют именно GTK+: Pantheon, MATE, Cinnamon, GNOME 3, Unity, XFCE, LXDE и т. д.

«Ври, да не завирайся.»

«Pantheon, MATE, Cinnamon» - это форки gnome2.

XFCE, LXDE
современных

Ну вы поняли... PS: LXDE мертв. Теперь LXQt.

На Qt сейчас только KDE 5

Если это о чём-то и говорит, то только вам. Какую-то статистику из этого делать невозможно.

Не надоело находиться в мирке где Qt 5 якобы доминирует?

Qt5, может и нет, но Qt - да. Это просто факт, который тулкитофобы не могут принять.

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

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

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

Честно - не въехал. По ссылке вижу расширенный CSS (синтаксис - мама не горюй) для построения интерфейса. Но это в каком-то виде есть и в QML. Проблема в том, что это высокоуровневая штука, а низов-то нет. Стандартных контролов во всеми любимом лине тоже нет. Есть конечно любители пилить для каждой проги свой дизайн, но не всем это нравится и оставим это виндузятникам.

Хочется-то чего: простенькая либа, которая имеет набор стандартных виджетов(кнопки там, чекбоксы и прочее) и холст, на котором рисуй что хочешь. Всё. А что там сверху липить - уже другой вопрос.

Сейчас для этого используются/пропихивают браузеры, но результат оставляет желать лучшего.

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

Все еще не понимаю о чём речь =)

В том же Qt есть layout'ы. Жить можно.

RazrFalcon ★★★★★
()

Путём естественного отбора останется только одна лучшая библиотека, а все остальные вымрут.

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

Но Mate переходит на GTK+3

Следовательно у С, как и у С++ практически нет свободного сообщества - без пряников корпораций могут только пакеты пересобирать, а исправить что-то сложное, некому.

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

Путём естественного отбора останется только одна лучшая библиотека, а все остальные вымрут.

Путём естественного отбора останется только одна худшая библиотека, и вымрет всех остальных. //исправил, не благодари

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

Сорри, но развиваться будет HTML.

И эту чушь многие твердят уже 10 лет. Не будет этого, ибо ненужно - инет есть далеко не всегда + в большинстве развитых стран он очень дорог.

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

Все в c++ есть, просто реализация различается на разных платформах. А qt какбэ кросплатформенный фреймворк, вот и навелосипедили фич языка, чтобы везде одинаково работало.

Ты что то не то думаешь. В Qt всё по разному работает на разных платформах, а вот ПИШЕТСЯ(код) одинаково. А С++ это язык, так что не понятно к чему ты его тут приплёл, говори про конкретную реализацию.

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