Введение в развитие Gnome

Разработчик Gnome помогает решать проблемы и создавать графические интерфейсы в режиме реального времени. Gnome Builder - это надежная экосистема, которую вы можете попробовать, прежде чем приступить к чему-либо еще. Это дает разработчикам больше возможностей и гибкости. Ранее разработка приложений gnome была ограничена SUGAR из-за недоступности привязок Python и отсутствия обслуживания и упаковки.

Давайте подробнее рассмотрим разработку Gnome:

Привет, народ. Итак, сегодня мы будем говорить о печально известном развитии гномов. Так что, если вы новичок в Python и Linux, то это не идеальное место для вас. Вы должны вернуться и очистить некоторые основы. Но если вы являетесь программистом на Python и знаете хотя бы, как работать с Fedora или Ubuntu, то это руководство именно для вас.

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

Развитие гномов

Первое, что нам понадобится, - это стабильная среда Python. Тот, который я использую, и я бы предложил использовать это Python 2.7. Хотя в настоящее время люди используют Python 3.3 или 3.4, я бы предложил использовать 2.7, потому что это все еще самая широко используемая версия python в мире и чрезвычайно стабильная и совместимая. Мысль Python 3.4 совместима, но есть некоторые вещи, которые все еще ломают Python 3.4, что, очевидно, нам не нужно.

Второе - это правильный Python GTK. Последней и стабильной версией на данный момент является Python GTK +. Хотя, прежде чем продолжить, нужно прочитать GNOME HIG, которая является «Руководством по человеческому интерфейсу», о том, как разработать эффективное приложение Gnome с помощью python. Но опять же, если бы это было так просто, вы бы не были здесь в первую очередь.

Гном HIG не так легко понять. Таким образом, в этом блоге я постараюсь дать максимально возможное понимание и сделать его максимально простым. Но однажды вы все поняли из этого блога, и когда я говорю все, я имею в виду это. Итак, после завершения этого блога, я, безусловно, рекомендую вам прочитать Руководство по интерфейсу пользователя GNOME.

Для начала GTK + предоставляет n возможностей, а также общие шаблоны проектирования для создания эффективного пользовательского интерфейса. Итак, предполагая, что вы знаете, как создавать и запускать файлы Python, я буду двигаться вперед. Начать работу с приложениями Gnome в Windows очень легко. Итак, поскольку у меня было хорошее понимание создания приложений с графическим интерфейсом Python с использованием pyqt и Tkinter, я подумал, что будет легко разрабатывать приложения с графическим интерфейсом для GNOME, но все было с точностью до наоборот.

Самое сложное было начать. Все учебные пособия, которые я видел, изучая, были просто прямым входом в GUI, но не для начинающих. Меня все больше и больше раздражало то, как безнадежные коды я написал, когда начал понимать GUI Gnome. Следовательно, после долгих поисков я наконец остановился на PyGTK / GTK + и Glade.

Оба являются кроссплатформенными, поэтому их работа, установка и компиляция не представляют особой проблемы. Но, поскольку это блог для начинающих, я не буду вдаваться в подробности о Глейде и прочем. Я бы предложил использовать инструмент Visual Grep, который очень прост. Когда я учился разрабатывать приложения для гномов, я не знал о V-Grep. Но теперь я упростил это для вас. Вы также можете использовать grep из командной строки. Но иногда вам просто нужно что-то простое, а не невероятно сложное.

Рекомендуемые курсы

  • Сертификационный онлайн-тренинг в VB.NET
  • Обучение Сертификации Науки Данных
  • Обучение ISTQB
  • Профессиональный курс Kali Linux

Я не могу сделать это проще, чем использовать цитату Альберта Эйнштейна:

«Если вы не можете объяснить это шестилетнему ребенку, вы сами этого не понимаете».

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

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

Хотя есть и другие IDE, такие как Adjuta и Eclipse, они также могут быть использованы для стека разработки GTK + Gnome, но ни одна из них не так сильно ориентирована на разработку, как PyCharm.

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

Но если вы попытаетесь запустить приложение в PyCharm с помощью фейкера, оно потерпит неудачу, потому что фейкерные файлы вытесняют настоящее приложение GTK. Но все же это справедливая торговля. Вы не можете получить все, что вы хотите, не потеряв что-то.

Альтернативный способ - использовать IDE разработчика Gnome. Это IDE, которая делает создание базы Gnome чрезвычайно простым.

Вот как выглядит конструктор разработки Gnome: Скриншот с моего ПК:

Один взгляд на разработчика Gnome, и вы поймете, что это очень тесно работает с GNOME3 HIG с минимальным интерфейсом. Несмотря на минималистичный интерфейс, он включает в себя множество функций, которые делают приложения гномов похожими на Локи перед Халком. Вникнуть в суть. Да! Именно так и есть.

И если говорить о PyGTK, который также великолепен, но не совсем для начинающих, он содержит проект PyGObject, который чрезвычайно интересен. PyGTk также поддерживает возможность перемещения между Python и C, что означает, что вы можете быстро создавать прототипы в Python, а затем просто скомпилировать их в C для повышения производительности.

Модули, которые работают поверх основного кода PyGObject, не должны беспокоиться о поддержке API-интерфейсов C Python. Им нужно только понимать базовые концепции GObject Introspection, такие как API аннотаций и моделирования, чтобы их можно было использовать. Это базовое понимание фактически заставляет разработчиков GObject писать более понятные публичные API, ограничивая использование или ограничивая частные API, некоторыми из более эзотерических шаблонов кода, которые допускает C.

Это важно, чтобы понять всю мощь, которую Introspection предоставляет разработчикам приложений и модулей. Теперь, если вы хотите предоставить новый модуль Python, вам не нужно понимать C Python API; вы можете просто использовать свои знания GObject для создания API, доступного из Python или любого другого языка с поддержкой самоанализа, такого как JavaScript. Vala даже поддерживает Introspection, поэтому вы можете писать объекты в Vala и получать к ним доступ через Python.

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

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

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

Если я многому научился в GNOME за эти годы, то конечный пользователь имеет значение, и использование самоанализа помогает двигаться к этой цели.

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

Рекомендуемые статьи

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

  1. Карьера в Python
  2. Новое будущее Python: вы должны его использовать (лучше всего)
  3. Python или Go
  4. Удивительные возможности Kali Linux против Ubuntu
  5. 10 простых, но полезных советов по программированию на Python (хитрости)