LINUX.ORG.RU
ФорумTalks

Почему почти весь линукс десктоп на Gtk?

 , , ,


2

2

В свете недавно проведенного опроса оказалось распределении десктопов по тулкитам где-то такое

  • Qt - 25.9%
  • Gtk+ - 62.7%

Почему Qt так сливает через столько лет? Ведь аргумент о лицензии уже давно устарел. Почему не переделали все на Qt и компании, такие как Canonical, Red Hat, Mozilla, Google, Sun/Oracle пишут свой софт на Gtk+?

Прошу прояснить ситуацию

★★★★★

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

окно по другому выглядит

Еще баги?

При таком раскладе вам, милейший, для начала стоит узнать что такое «баг», и чем они отличаются от психических расстройств, а потом обратитесь в ближайшую поликлинику.

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

Хотя, чо это я, если, тов. vertexua, вы изволите психотерапевту сообщить что у вас баги, то он в принципе пропишет вам верное лечение

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

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

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

цитируем гугль: gtk+ стал де факто стандартом написания интерфейсов в линукс

так оно и есть.

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

ну есть же гтк-онли -_- вот затем. правда у ребят из чакры пока не всё так радужно, но это арчепроблемы...

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

основные разработчики гном работают в редхат...

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

Да ну, я шото помню 2.4, 2.10, 2.16, 2.18 были связаны с историями разными.

вы что-то путаете.

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

У Qt тоже есть бинарная совместимость в пределах ветки (от версии 4.0 до 4.7.x).

людям не нравится то, что случилось с Qt3 не так давно. не было никаких гарантий, что этой истории не повторится с Qt4.

Плюс он не так страшно выглядит под линухом (и другими платформами) как gtk

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

на нем гораздо гораздо удобнее разрабатывать.

людям, которые предпочитают C, удобнее разрабатывать на C.

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

Мне больше нравятся байндинги, меньше телодвижений. Поработал GObject Introspection через Python, хорошая штука. JS on the way

vertexua ★★★★★
() автор топика

Прошу прояснить ситуацию

А подумать самому?

gtk2 живёт довольно давно, поддерживалось RH (энтэрпрайз), соответственно были доки, примеры, рецепты, не ломало голову лицензиями. Соответственно, когда люди выбирали на чём писать - выбор был явно на стороне gtk. qt не сразу была кросс-платформенной. Сейчас ситуация изменилась. Новые приложения стараются начинать на qt ибо оно тихо ползёт в промышленный сектор, но передряги с trolltech - nokia - digia могут доставить неилюзорное количество костылей. А поддерживать свой софт из-за тулкитописателей вообщем мало кому упало ибо лень.

Вообщем, анонимный аналитег из тебя никудышный.

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

тык потому спор можно закрыть на:

gtk == native Linux UI toolkit

Qt == cross-platform development framework

и тогда вопрос и не вопрос вовсе.

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

Я могу сделать выводы тоже, я уже 5 лет в Gtk срачах, медаль могут дать. Но вдруг тут кто-то еще что-то фундаментальное ответит.

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

что-то ты явно не понял... не хочу знать что, извини.

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

Я могу сделать выводы тоже, я уже 5 лет в Gtk срачах, медаль могут дать. Но вдруг тут кто-то еще что-то фундаментальное ответит.

Вот если ты такой знающий - зачем шарманку в сотый раз разводить.

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

не поэтому, потомучто он так не делает.

Thero ★★★★★
()

Почему Qt так сливает через столько лет?

консерватизм

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

Вечер скучный, не хочу реферат по философии делать. На 6 курсе это ниже моего достоинства

vertexua ★★★★★
() автор топика

Qt был проприетаркой, gtk был говном для кроссплатформенности. Проприетарку использовать честь не позволяла, а от говна мозг пух, по этому мой выбор был очевиден - wxwidgets ;]

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

Но софта на Gtk больше полезного

В целом, не согласен. У digiKam и Hugin аналогов на GTK нет вообще (насчёт второго сомневаюсь), Okular и Dolphin тоже получше аналогичных. На GTK из заметных разве что Darktable и GIMP.
Думаю, пользователи *box пользуются gtk из-за того, что он меньше зависимостей тянет. Когда я игрался со старым компьютером и легковесными окружениями, я подходил с тех же позиций.

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

мне как раз нужно сделать одно странное задание от странного препода в странном универе... с одним условием - на gtk+. Вот «что хотите», но на gtk. Советовал взять пример из документации и сделать «ещё один». На какое-то полезное приложение меня не хватит (со временем проблемы, да и с желанием), а какой-нить примерчик, но поинтереснее, поизощрённее.

Писать на Pure C - увольте, нет... подумывал взять guile-gtk, решил что сложноват для меня.... вот наверное pygtk и возьму.

Заодно и подскажите идейку =) чего-нить такого простого, в меру полезного, и на что можно потратить не больше 3-4 часов.

(срок - думаю что в следующем семестр спокойной можно сдать)

p.s. в ленивости меня не обвиняйте, куча других более насущных дел, которым хочется отдаться куда более серьёзно :( но на них тоже не хватает.

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

Форкните и допилите вот это https://launchpad.net/temporator, очень нужная штука. Или перепишите с нуля, там патчи некому принимать, это Hello World рабочий в самой базовой вариации

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

странное задание от странного препода в странном универе... с одним условием - на gtk+.

Писать на Pure C - увольте, нет.

И кто тут странный? В том плане как вам вообще могла прийти мысль пистать «чтоугодно» *прикладное* на Си? :D

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

И да, pygtk проект закрылся. Нужно использовать Gtk3 с Python через GObject Introspection.

from gi.repository import Gtk

Если есть тяга к приключениям, то попробуйте gjs, очень интересно и отпишите что получилось

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

Прошу прояснить ситуацию

Любители Qt обычно фонатики c++.

При этом Qt выбирают те люди чье отношение к линуксу обычно выражается в : много лозунгов - но вендузятник работающий на венде.

Вот и ответ на ваш вопрос - если вы не фонат с++, не вендузятник, а пишете на перлопитонах под линупс и на венды вам начхать - идея использовать Qt вам в голову прийти не может. Соответственно, отсюда и проценты на линуксдесктопе.

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

людям не нравится то, что случилось с Qt3 не так давно

Глупости чистой воды, вы ещё лет через 7 вспомните про Qt3. Есть моменты, когда дальнейшая совместимость исходного кода препятствует архитектурным новшествам и смена старшей версии обусловлена качественными изменениями. Со времён выхода Qt4 для Qt3 выпустили несколько корректирующих релизов. Qt3 до сих пор стабильна, пиши — нехочу. Тем не менее сколько непортированных на Qt4 программ осталось? Я навскидку даже одну не припомню, что говорит об отличном подходе разработчиков Qt по поддержке процесса портирования.

Далее, мнимые 10 лет поддержки в GTK это какой-то оксюморон. Совместимость между версиями обусловлена стагнацией самой библиотеки. Если Qt4 оставить мёртвым грузом ещё лет на 20, могу я сказать, что совместимость Qt4 достигла в сумме 27 лет? Если бы с GTK2 было так всё хорошо, зачем выпускать 3-ю версию? Ответ будет тем же.

В Qt4 заявлена обратная бинарная совместимость и совместимость на уровне исходного кода. Бинарную, справедливости ради, один раз поломали в Qt 4.4 (почти 5 лет назад), тем не менее с того времени вышло уже 5 мажорных релизов, библиотека развивалась сумашедшими темпами. Появилась интеграция с WebKit, Concurrent для простого распараллеливания, DBus для IPC, Multimedia-фреймворк, Qt Quick, он же QML для декларативного программирования GUI и не только, реализация XQuery/XPath/XSLT для XML, полный переход с Carbon на Cocoa на маке без ломания API, простой как пробка QNetworkAccessManager для общения с интернетом, множественные улучшения в графике и OpenGL, такие как многопоточность. Следуя мото «Qt Everywhere» добавлена поддержка (ныне почивших) WinCE и Symbian, сейчас идёт полным ходом перевод Embedded API с древнего QWS (Qt Window System) на новый QPA (Qt Platform Abstraction) и реализация на нём таких платформ, как Android, iOS, добавление поддержки произвольной embedded-платформы для Qt теперь делается легко и непринуждённо.

Почитал изменения в Qt5, разница в API с Qt4 настолько минимальна, что процесс портирования существующих программ будет намного легче, чем это было с Qt3 -> Qt4. Qt5 вообще позиционируется как единый фреймворк для всех платформ, альтернатив которому не видно даже на горизонте.

Dendy ★★★★★
()

Почему почти весь линукс десктоп на Gtk?

Потому что это лучший тулкит.

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

Скорее это следствие популярности ubuntu, она составляет около половины линуксовых десктопов (но меньше половины читателей linux journal), а в ней gtk идёт по дефолту. Вот и голосуют за gtk-шные DE. Аналогично - с debian.

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

но передряги с trolltech - nokia - digia могут доставить неилюзорное количество костылей

На деле унутре ничего не изменилось, а период нокии пошёл Qt на пользу - именно тогда, кстати, и появился QtCreator вместо плагина к эклипсу.

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

людям, которые предпочитают C, удобнее разрабатывать на C.

Кстати, синдром утёнка практически нельзя обойти, что печально. Во многом популярность gtk обеспечена его прошлыми успехами и поставкой по дефолту в debian/ubuntu/fedora, а лишней неблагодарной работы себе никто не хочет.

Но вот что характерно - всё больше программистов набирают опыта программирования в работе с php, javascript, action script и C#, и такие люди почти не умеют отслеживать ресурсы или утечки памяти. В C у таких людей всегда будут серьёзные проблемы - либо утечки и баги, либо оставленные на виду недоделки. При самостоятельном изучении C++/Objective C - то же самое. А вот если они вливаются в команду, где в ходу C++/Objective C - то всё ОК, им просто говорят использовать умные указатели и property соответственно и предлагают отрефакторить код, где это правило было нарушено в угоду скорости выполнения задачи.

Так что популярность Qt будет расти, и, возможно, программирующим на gtk стоит подготавливать себе план B. Скажем, настаивать на лучшей поддержке кодинга на C в QtCreator, или пилить надёжный статический анализатор python, который будет выявлять практически все ошибки, возникшие после небольшого редактирования кода - как это происходит в C++, или поднять IDE для Vala на уровень выше простой подсветки кода.

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

Вместе с популярностью Nokia

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

quiet_readonly ★★★★
()

По популярности KDE уже давно обогнало поделия. Скоро и Qt обгонит.

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