GObject Gtk, Gnome, Gtk+, Gl, Gtk2, Gtk3 Не понимаю?

все, что мне нужно, это окно для размещения webkit или/и cairo drwaing, но сначала мне нужно разобраться со всем этим, чтобы понять, что я делаю.

в настоящее время. Я потерялся и больше не понимаю, о чем все это.

и все становится еще хуже, когда я пытаюсь работать с привязкой или пытаюсь понять, что такое зависимости для чего-то. например: в python pyGtk устарел и заменен на pyGObject (иногда называемый pyGl!!)

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

чего я не понимаю... как все эти вещи смешались друг с другом на слишком многих сайтах, пакетах и ​​версиях?


person KA1    schedule 12.03.2012    source источник
comment
Это больше разглагольствование, чем реальный вопрос, я голосую за закрытие. PS. архитектурный вид всего этого: developer.gnome.org/platform-overview/stable   -  person ptomato    schedule 12.03.2012
comment
точно, а какое отношение гном имеет к gtk? gnome - это среда рабочего стола, которая использует gtk и другие, верно? Хорошо, если есть такая вещь, как платформа gnome, откуда я могу ее скачать? если вам что-то не нравится в этом вопросе, я был бы признателен, если бы вы отредактировали его и переписали в своих терминах.   -  person KA1    schedule 12.03.2012
comment
@ptomato, больше похоже на крик о помощи. Стек может сбивать с толку.   -  person ergosys    schedule 13.03.2012


Ответы (2)


Короткая история:

Если вы программируете для GTK 2, используйте pyGTK.

Если вы программируете для GTK 3, используйте pyGObject.

Долгая история:

Насколько я понял, pyGTK был основан на pyGObject. GObject — это «объектный» API GTK. GTK разработан на C, который не является объектно-ориентированным языком. GObject — это библиотека, предоставляющая расширенные объектно-ориентированные возможности. Все объекты GTK наследуются от класса GObject, предоставляемого этой библиотекой.

Затем последовала работа по самоанализу GObject. Его целью было упростить обслуживание привязок и использовать аннотации исходного кода для автоматического создания большей части кода привязок для каждого языка (python, C++ и т. д.). Это привело к тому, что в pyGI появилась сторона python, привязки python, основанные на самоанализе GObject. Именно тогда людям сказали использовать его для разработки GTK3.

С тех пор работа по самоанализу GObject, когда-то предоставляемая pyGI, была интегрирована в GObject. В конечном итоге pyGObject стал тем, что разработчики должны использовать для разработки Python в GTK3.

Пожалуйста прочти:

Об отношениях GNOME/GTK:

GTK — это инструментарий, используемый проектом GNOME. Он был извлечен из GIMP, отсюда и его название (GTK расшифровывается как: GIMP Tool Kit). GTK является основной частью проекта GNOME, и разработчики GTK также часто участвуют в проекте GNOME.

person liberforce    schedule 12.03.2012

Мое понимание тех компонентов, которые вы упомянули:

Цепочка зависимостей компонентов, упомянутых в вопросе, в GNOME 2

Цепочка зависимостей компонентов, упомянутых в вопросе, в GNOME 3

  • Думайте о GI как об интерфейсе, которому соответствуют основные библиотеки GNOME.
  • PyGI больше не существует; теперь он является частью PyGObject в настройке GNOME 3.
  • Какова связь между GTK, GTK+ и GTK2?
person Johannes Sasongko    schedule 13.03.2012