LINUX.ORG.RU

GNOME vs. KDE с точки зрения разработчика

 ,


0

3

Предположим, что основная задача десктопной оси - запуск приложений.

Гном в этом плане прост и лаконичен: часто запускаемые приложения находятся на панели слева, редко запускаемые находятся в специальном меню.

KDE красив и не тормозит, но… Нажимаешь «Пуск» и вываливается эта помойка: выключить, настроить, поискать, запустить. Какие то виджеты, которые ещё в седьмой винде на мороз выкинули. Спорная DE, по моему мнению.

С точки зрения разработки всё наоборот. Гном - это C (для UI так себе), Vala, GKT (чисто гномьи технологии)

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

Интересно было бы услышать мнения, под что лучше делать приложения.


Ответ на: комментарий от Aster

GKT - аналог QT.

  1. QT - это Apple QuickTime, а то, что ты имел в виду, пишется как Qt.

  2. GTK — НЕ аналог Qt. Qt это фреймворк с кучей необязательных модулей. Аналогом GTK являются модули QtGui и QtWidgets. Об этом часто забывают. В Qt-проектах сторонние библиотеки нужны гораздо реже.

В программе, UI которой сделан на GTK, можно натаскать сторонних библиотек (например, libxml2 для работы с XML), и в Linux/*BSD, где есть штатное управление библиотеками, это даже не заметно. Но как только мы начнём делать из юникс-эксклюзива кроссплатформенную программу и залезем в Windows, всё это придётся склеивать изолентой.

Я как разработчик кроссплатформенного ПО, хотел бы тратить на винду как можно меньше времени, и это одна из причин, по которым Qt мне нравится больше, чем комбайн из GObject+GTK+libxml2+libgda… Это не означает, что данный комбайн всегда плох. В общем случае он гибче, чем Qt. Но надо чётко понимать, чем мы платим за эту гибкость.

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

обязательность Qt Creator (что бесит, GTK-приложухи я хоть в «виме» могу сбацать)

Э, а в чём разница? Если не пользоваться дизайнером, то в Qt точно так же можно программно нарожать объектов вручную.

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

В общем, надо мне по условному Hello Worldу написать под Гном и KDE, будет понятнее, что по чём.

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

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

Ну-ну, и поэтому в GTK+3 сломаны классические скроллбары

А это типа минус? Учитывая, что последние лет 15 курсором за него таскают только 3.5 процента самых необучаемых особей.

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

Аналогом GTK являются модули QtGui и QtWidgets. Об этом часто забывают. В Qt-проектах сторонние библиотеки нужны гораздо реже.

Если быть совсем точным, то GTK примерно соотносится с QtWidgets с известной долей условности. Но ГТК - только верхушка айсберга, а нижележащий стек технологий уже не сильно чтобы уступал Qt по возможностям.

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

Ну почему?! Почему ты не можешь примкнуть к проекту которым пользуешься и улучшать его? Неужели ты вообще не пользуешься GNU/Linux’oм от чего не видишь что можно улучшить? Задолбали!

Почему не могу? Как раз бы поулучшал какой нибудь проект для общего развития.

С нуля я бы проект делал на cmake + VS С++ + Qt. А потом бы перетащил его на Linux

Aster
() автор топика
Ответ на: комментарий от Polugnom

GTK+ переименовывают в GTK

Почему не GTK✝, как аноним с Опеннета предложил?

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

и обои эти скучные, надоело!!!

А если серьёзно: не надоело расписываться в слабеньких способностях мозга, который теряет концентрацию внимания, увидев (о боже!) 4 пункта меню?

Вот запустил я виртуалку с KDE на OpenSUSE. Вижу Пуск, быстрый запуск, панель задач, трей, часы и свернуть все окна.

Ну не моё это.

Моск теряет концентрацию внимания (

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

Сам я не погромист, но сочувствую. Среди знакомых есть кодеры и по их отзывам, для быстрого написания программульки с графикой, кути - лучше всего. По факту кути - выбор говнокодера. Тяп ляп и готово. И думать не надо. При том, что сами кеды (пятые) - образец помойки, в коде, в конфигах и в интерфейсе.

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

В качестве Hello World решил собрать Наутилуса и Дельфина соответственно.

Исходники Наутилуса забрал прямо в Builder. Он сам доставил всё необходимое (exiv2, …). Скомпилялось быстро. Из минусов - скудные возможности отладки в этом самом Buildere.

С Дельфином всё не так гладко. kdescr-build настроил, забрал исходники. Вроде бы родные cmake и с++. Но сколько возни с зависимостями. 77 проектов для dolphin. И штук 50 с косяками. QT dev, lxml… Начинающий девелопер бы охренел.

Но Kdevelop конечно получше чем Builder.

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

При том, что сами кеды (пятые) - образец помойки, в коде, в конфигах и в интерфейсе.

… в работе, документации, функциональности, удобству, … во всем

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

С нуля я бы проект делал на cmake + VS С++ + Qt. А потом бы перетащил его на Linux

Зачем так извращаться? Из личного опыта: если делать проект на C++/Qt под линуксом и не делать специально никаких несовместимостей, он потом с вероятностью 99% соберётся и под виндой. А вот наоборот уже не факт.

Например, вспомним, что в большинстве ОС имена файлов регистрозависимы (говоря строго, это фича ФС, а не ОС, но у ОС есть фактические дефолты на этот счёт). Ичключение среди известных систем только одно, но к сожалению, называется оно Microsoft Windows. Т.е. если ты в коде на C или C++ ошибочно написал #include <Math.h> — в Windows всё прекрасно соберётся. А вот начав переносить такое в Linux, ты сразу получишь по рукам, и хорошо ещё, если таких конструкций в проекте к моменту переноса не накопится несколько десятков.

Разрабатывать в направлении Windows -> Linux имеет смысл только если Windows у тебя основная ОС. В противном случае Qt Creator в зубы и наслаждайся.

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

А на Qt до сих пор нет ни одного плеера с нормальным адекватным отображением библиотеки.

Cantata+mpd, не?

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

А это типа минус?

Да минус. Я постоянно пользуюсь тасканием thumb полосы прокрутки и кнопками со стрелками. Колесо мыши не является заменой т.к. его придётся долго крутить в длинных документах. Постоянно видимая полоса прокрутки позволяет видеть место в документе.

В GTK 3 прокрутку как и многое другое со смартфонов копируют не понимая что десктоп и смартфоны - это разные вещи.

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

А с чего вы решили, что они не понимают?

С того что они тащат чисто смартфонные элементы на десктоп: переключатели вместо флажков, смартфонная прокрутка с инерцией и эффектами удара об конец, «гамбургеры» вместо главного меню, огромные контролы и трата места впустую.

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

Я тоже самое могу сказать про десяточку. Когда впервые увидел, подумал что андроид.

«гамбургеры» вместо главного меню

Это что?

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

Я тоже самое могу сказать про десяточку.

С Win32 программами там всё в порядке. UWP программы никому не нужны (магазин пуст), а меню пуск заменяется на ClassicShell (OpenShell).

Это что?

Вот это (кнопка с тремя горизонтальными линиями). Благо что обычные меню из GTK ещё не выпилили но это может быть вопрос времени.

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

То, что в гноме что-то там вынесли в расширения - это плохо и все должно изкаропке работать, а в десяточке можно и потюнить?

Гном, кстати, по сравнению с десяточкой - верх настраиваемости.

И что, win32 программы рисуют свои окошки, отличные от десяточкиных? Я, честно, не в курсе, про все эти явления, как и про опеншел и иже с ними.

П.С. А по поводу гамбургера... у вас что, серьезно, претензия к пиктограмме?

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

То, что в гноме что-то там вынесли в расширения - это плохо и все должно изкаропке работать, а в десяточке можно и потюнить?

Панель задач в Windows 10 есть из коробки и Activities на весь экран открывать не надо. Даже родное меню пуск лучше Gnome, Microsoft сами поняли что полноэкранное меню не нужно и вернули примерно как было.

И что, win32 программы рисуют свои окошки, отличные от десяточкиных?

Окна в Windows с Windows 95 ни разу не менялись. Только темы меняли. Те же кнопки и то же поведение окон. Даже закрытие окон по двойному щелчку на иконке всё ещё работает.

П.С. А по поводу гамбургера… у вас что, серьезно, претензия к пиктограмме?

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

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

Мне искренни непонятны эти страдания о вкусовщине. Вас кто-то вынуждает использовать Гном3? Вас шантажируют или ваши близкие могут пострадать? Почему вы решили, что в гноме (или еще где) всё должно быть так, как удобно лично вам?

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

Мне искренни непонятны эти страдания о вкусовщине.

Это не вкусовщина. Панель задач есть везде кроме Гнома: TWM, CDE (значки свёрнутых окон), Mac OS (док внизу со значками запущенных программ), Windows, Haiku. Нормальное меню тоже есть везде, в Mac OS оно традиционно вверху экрана.

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

Нормальное меню тоже есть везде, в Mac OS оно традиционно вверху экрана.

Это самая что ни на есть незатейливая вкусовщина. Наличие какой-то функции в одной программе не делает ее обязательной в другой. Насколько я знаю, ГоСТ в этой сфере отсутствует. А «норма» - норма она у каждого своя. Не нравится вам гном - ваше право, мне вот кеды не нравятся. Я ими не пользуюсь. Причем не нравится не интерфейс, а сама парадигма.

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

Cantata+mpd, не?

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

Глянь тот же ритмбокс, где библиотека сразу перед глазами согласно иерархии Исполнитель->Альбом->Трек. Подкасты - отдельно. Подписки - отдельно. Радио - отдельно. Но у каждого из них тоже прямая иерархия сразу перед глазами. Просто и наглядно. Удобно.

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

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

переключатели вместо флажков

Более крупные контролы неизбежно захватывают мир, это удобно и полезно для здоровья - меньше напрягает зрение и руку на мышке в попытках попасть в контрол 5х5 пикселей. Времена пиксельхантинга остались в прошлом.

смартфонная прокрутка с инерцией и эффектами удара об конец

А здесь-то что не так, не считая аргумента «при Сталине у меня х*й стоял»?

«гамбургеры» вместо главного меню

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

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

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

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

Более крупные контролы неизбежно захватывают мир

Для управления размером в нормальных ОС есть настройка DPI. В Линуксе её до сих пор не осилили.

это удобно и полезно для здоровья - меньше напрягает зрение и руку на мышке в попытках попасть в контрол 5х5 пикселей.

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

Небольшие контролы позволяют разместить несколько окон на одном экране и совместно с ними работать.

А здесь-то что не так

Тем что не нужно не на сенсорных экранах. Windows 10 умеет различать мышь и сенсорный ввод и не использовать сенсорную прокрутку пр использовании мыши.

Забудьте про главное меню, его сейчас даже из профессионального софта выпиливают.

Не выпиливают. Посмотрите на Blender, Inkscape, Krita, 3ds Max, Clip Studio Paint, Photoshop. Там ещё высокая плотность контролов. Некоторые программы переходят на Ribbon, но это развитие традиционного главного меню, а не смартфонная кнопка с гамбургером.

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

Нормальное меню тоже есть везде, в Mac OS оно традиционно вверху экрана.

Вот, кстати, да: глобальное меню, на мой взгляд — самое уютное, что есть в макоси. Сразу даёт впечатление единства рабочей среды.

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

Там, где разработчики озаботились

Зачем дополнительные телодвижения, если в классическом меню сочетания клавиш автоматом показываются? Они даже в Ribbon показываются. Авторы GTK и Gnome заставляют разработчиков страдать.

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

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

В таких случаях принято писать «имхо». Если ваша продуктивность заточена под олдскульный интерфейс, это не означает, что оно у всех так. Лет через 15 следующее поколение будет в шоке смотреть на все эти менюбары и захардкоженные скроллбары.

Для управления размером в нормальных ОС есть настройка DPI. В Линуксе её до сих пор не осилили.

Не обобщайте. В Гноме и других Гтк3-ДЕ «осилили». А в ваших авесамах или чем вы там пользуетесь и не осилят.

Для здоровых людей удобны традиционные интерфейсы.

Ну, это хорошо, что вы пока здоровы, очень за вас рад. Но вглядываться в мелкие контролы здоровья уж никак не прибавит. Почти все мои знакомые программисты уже к 30 годам носят очки и при этом им не приходит сделать шрифт побольше, так и вглядываются в свои портянки 8 кеглем.

Gnome видимо делали для инвалидов с нарушением двигательной функции, дефицитом внимания и плохим зрением. Если с самого начала позиционировать Gnome как интерфейс для инвалидов, то вопросов к нему не будет.

Нет ты.

Не выпиливают. Посмотрите на Blender, Inkscape, Krita, 3ds Max, Clip Studio Paint, Photoshop.

А есть подобные примеры для софта моложе 20 лет?) Из Блендера, кстати, могут выпилить менюбар в обозримом будущем, они с каждым релизом выносят оттуда функционал.

Некоторые программы переходят на Ribbon, но это развитие традиционного главного меню, а не смартфонная кнопка с гамбургером.

Да вот нет как раз, это именно что попытка уйти от менюбара и всех этих блужданий в лабиринтах меню с N-ным уровнем вложенности.

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

Если ваша продуктивность заточена под олдскульный интерфейс

Продуктивность - это объективный показатель. Можно посадить много людей за разные интерфейсы и замерить скорость операций.

Не обобщайте. В Гноме и других Гтк3-ДЕ «осилили».

Зачем тогда увеличивать размер контролов если можно просто увеличить DPI?

А есть подобные примеры для софта моложе 20 лет?)

Жду от вас примеров. Желательно для Линукса и на GTK.

Из Блендера, кстати, могут выпилить менюбар в обозримом будущем

В Blender есть не только главное меню, но и меню для каждого viewport’а зависящее от режима. Его выпиливать не собираются.

Да вот нет как раз, это именно что попытка уйти от менюбара и всех этих блужданий в лабиринтах меню с N-ным уровнем вложенности.

В GTK уже сделали Ribbon или не осилили?

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

Но как только мы начнём делать из юникс-эксклюзива кроссплатформенную программу и залезем в Windows, всё это придётся склеивать изолентой.

В MXE можно все очень удобно склеить в один статичный бинарь

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

Почти все мои знакомые программисты уже к 30 годам носят очки и при этом им не приходит сделать шрифт побольше, так и вглядываются в свои портянки 8 кеглем.

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

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

В MXE можно все очень удобно склеить в один статичный бинарь

Какой статичный бинарь, lgpl кругом.

With LGPLv3 it is also explicitly stated that the user needs to be able to run the re-linked binary on it’s intended target device. It is your obligation to provide the user with all necessary tools to enable this process. For embedded devices, this includes making the full toolchain used to compile the library available to users. For parts licensed under LGPLv3 you are obliged to provide full instructions on how to install the modified library on the target device

Visual Studio 2019

Лучшая среда для С++, до выхода Visual Studio 2021

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

Авторы GTK и Gnome заставляют разработчиков страдать.

Звучит как заголовок для жёлтой газетёнки. Как заставляют страдать? Насильно принуждают не использовать меню-бар? Под угрозой пыток?)

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

смартфонная прокрутка с инерцией и эффектами удара об конец

В кедах такое тоже есть, но не из коробки. У меня однажды настройки сломались после обновления кед, что привело к такому же скролу и сломаному выделению - https://nc.sr.team/s/CYxCGbTgHa2GsqN

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

попытка уйти от менюбара и всех этих блужданий в лабиринтах меню с N-ным уровнем вложенности

Так гномосеки просто прячут меню под еще один уровень вложенности. А совсем без лабиринтов можно только в хеловорде обойтись. Вот эти все gnome-hernya можно и без меню, не вопрос. Можно даже им окно не рисовать.

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

https://imgur.com/a/ggYoXUA

Вот смотрите, слева EOM справа EOG.

У «классического» интерфейса меню занимает три строчки, у проклятого третьегномовского - одну.

И это на фоне страданий о невероятно огромных заголовках окон в Гном3

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

Зачем тогда увеличивать размер контролов если можно просто увеличить DPI?

Хм. Ну даже не знаю... чтобы виджеты не расползались во всяких старпёр-WM-ах, которые не осилили HiDPI?

Можно посадить много людей за разные интерфейсы и замерить скорость операций.

Забавно, что такие исследования проводятся ведущими лоровскими аналитиками, но не проводятся крупными компаниями-разработчиками)

Жду от вас примеров. Желательно для Линукса и на GTK.

Примерами чего?)

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

Так гномосеки просто прячут меню под еще один уровень вложенности. А совсем без лабиринтов можно только в хеловорде обойтись.

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

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

чтобы виджеты не расползались

То есть таки не осилили. В Windows по крайней мере с Windows XP всё работает включая дробное масштабирование. Даже для Win16 программ из 1986 года HiDPI работает.

но не проводятся крупными компаниями-разработчиками)

Это вы про RedHat? Они не специализируются на разработке пользовательских интерфейсов и у них получается ерунда. У Microsoft, Apple, Adobe всё в порядке.

Примерами чего?)

Профессионального софта без полосок меню.

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

Какой статичный бинарь, lgpl кругом.

пусть из сурсов сами компиляют, если хотят либу заменить

Лучшая среда для С++, до выхода Visual Studio 2021

хз, не нашел в ней ничего хорошего - медленная, а IntelleSense просто бесит своей работой. clangd, на сколько я понял, к ней не прикручивается.

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

У «классического» интерфейса меню занимает три строчки, у проклятого третьегномовского - одну.

Зато часто используемые функции доступны с первого клика. Для управления с клавиатуры подозреваю что в меню «вид» есть пункты скрытия меню и панели инструментов.

Значительный вклад в трату места вносит тема с большими отступами в заголовке окна и меню. Сравните с Windows 95, там заголовок вместе с меню занимает столько же места, сколько заголовок окна в Gnome.

X512 ★★★★★
()

Буду лаконичен. Программирование не нужно.

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