В чем разница между GTK+ и Qt?

GTKLinuxQt

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

Но когда вы переключились на GNU/Linux, проблема внезапно стала актуальной. Это потому, что насколько хорошо приложение интегрируется с остальной частью вашего рабочего стола, часто возникает вопрос: сделано ли оно в GTK+ или Qt?


Что такое GTK+ и Qt?


GTK+ и Qt — это наборы инструментов, которые разработчики используют для структурирования внешнего вида и ощущения приложения. Эти наборы инструментов предоставляют кнопки, панели инструментов, ползунки и меню, которые вы видите при использовании приложения.



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


История GTK+ и Qt


Haarvard Nord и Eirik Chambe-Eng начали разработку Qt в 1991 году. Название, которое произносится как «милый», появилось из-за того, как буква Q выглядела в шрифте Eavcs Haavard и предыдущего использования буквы t в Xt, X инструментарий уже используется на рабочих столах Unix.

Nord и Chambe-Eng позже стали соучредителем Quasar Technologies, которая стала Throll Tech, затем Throlltech, и теперь существует в другой форме, как The Qt Company.

В 1995 году Throll Tech выпустила исходный код для версии Qt для GNU/Linux. Но это не соответствовало определению Free Software Foundation (FSF), так как людям не разрешалось распространять код, если они вносили какие-либо изменения. Только в 2000 году Throlltech предоставил пользователям свободу свободно редактировать и распространять код.

GTK+ начинался как GIMP Toolkit, созданный Питером Мэттисом в качестве замены существующего интерфейса, используемого в программе манипуляции изображениями GNU. После переписывания инструментарий стал GTK+ и вышел в 1998 году. В отличие от Qt, у людей была свобода редактировать, изменять и делиться GTK+ с самого начала.

Хотя Qt в некотором смысле является более универсальным и адаптируемым инструментарием, сообщество в течение первых лет консолидировалось вокруг GTK+. Стоит также отметить, что некоммерческий фонд GNOME теперь поддерживает GTK+, в то время как публично торгуемая компания The Qt Company ведет разработку Qt. Тем не менее, на данный момент ни один инструментарий не является «более бесплатным», чем другой.


Настольные ПК и программное обеспечение на базе GTK



Если вы недавно перешли на GNU/Linux, есть большая вероятность, что вы используете настольный компьютер на базе GTK. Это связано с тем, что многие из лучших сред GNU/Linux для настольных систем используют GTK+.

Возьмите GNOME, опцию по умолчанию в таких известных и хорошо зарекомендовавших себя ОС GNU/Linux, как Ubuntu, Fedora и Debian. Затем есть альтернативы, такие как MATE и Xfce, которые предлагают более легкие и более традиционные интерфейсы.

Статьи по теме


Давайте не будем забывать об elementary OS, новичке, который обслуживает последние коммутаторы больше, чем давние пользователи GNU/Linux.

Многие из самых популярных приложений с открытым исходным кодом лучше интегрируются с десктопами на базе GTK. Это включает в себя такие программы, как Firefox, Thunderbird, LibreOffice и GIMP. Менее известные кроссплатформенные приложения на основе GTK включают AbiWord, Inkscape и Pidgin.

Среди приложений GTK+ растет степень разнообразия. Программное обеспечение, разработанное специально для GNOME, может выглядеть неуместно даже на других настольных ПК на базе GTK. Это связано с тем, что руководящие принципы разработки интерфейса пользователя GNOME не поощряют использование меню и вносят другие, менее распространенные изменения.

Также знайте, что многие приложения, предназначенные для elementary OS, недоступны для других рабочих столов.

Между тем, большинство вышеупомянутых популярных кроссплатформенных инструментов GTK+ остаются относительно независимыми от настольных компьютеров (что означает, что они выглядят неуместно в GNOME и elementary OS, поскольку акцент делается на уникальном дизайне).


Настольные ПК и программное обеспечение на основе Qt



Рабочий стол KDE Plasma является старейшей полнофункциональной рабочей средой для Linux. Если бы Qt был полностью открыт еще в 1996 году, GNOME мог бы даже не существовать. Более двух десятилетий спустя сообщество KDE продолжает предоставлять самый многофункциональный рабочий стол GNU/Linux.

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

Вы можете настроить интерфейс, который влияет на каждое приложение, или вы можете настроить одно приложение, пока оно не станет удобным. Тем не менее, Plasma Desktop не единственный, кто использует Qt. LXQt — это одна из альтернатив, которая фокусируется на том, чтобы быть легче и проще.

Хотя некоторые программы KDE являются кроссплатформенными, эти программы не так известны за пределами сообщества GNU/Linux. Наиболее заметными исключениями могут быть Krita и digiKam.

Не все программное обеспечение Qt специально разработано для KDE. К таким программам относятся медиаплеер VLC и настольное издательское приложение Scribus.


Насколько важна разница?


Есть технические различия между GTK+ и Qt, но большинство из них больше интересуют разработчиков, чем кого либо из нас. В наши дни ограничения еще труднее заметить, чем раньше. Благодаря отличной гибкости, многие приложения GTK+ теперь выглядят как дома на рабочем столе Plasma на базе Qt. Некоторые из этих приложений выглядят лучше на плазме, чем в GNOME.

Между тем, вы также можете установить Scribus или VLC на рабочий стол на базе GTK, даже не осознавая, что есть разница за кулисами.

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

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

Источник: MakeUseOf