Пусть к становлению GTK-разработчиком

September 6, 2020

background

Вступление

Так уж вышло, что долгое время я был пользователем macOS, но настал момент, когда мой iMac решил, что ему пора на покой, а я решил посмотреть, что же изменилось на рынке Linux-дистрибутивов за прошедшие 15 лет с моего последнего погружения в них. А изменилось многое и в частности, я наткнулся на дистрибутив elementary OS, который считает себя больше, чем просто дистрибутивом и, замечу, делает это совершенно верно. В то время, как остальные используют наработки свободных проектов и формируют рабочую среду пользователя практически без изменений используя GNOME, KDE, XFCE и др. окружения, команда elementary пошла дальше, они начали формировать целостный взгляд на систему и приложения, которые должны в ней быть, они выпустили руководтсва по дизайну и разработке, тем самым поднимая свой дистрибутив на другую ступень, нежели очередные клоны Ubuntu. Но речь не совсем о них, а обо мне и том, что я проникся их идеями, их подходом к дизайну и неожиданно для себя стал пользователем Linux.

Norka. Идея

Итак, как я упомянул ранее, я долгое время был пользователе macOS, а значит и пользователем приложений, многие из которых отличались вдумчивым подходом к дизайну, таким, чтобы ими хотелось пользоваться. Придя в Linux, я ощутил острую нехватку программ, созданных для пользователей, а не для разработчиков. Ситуация меняется в лучшую сторону, однако, недостаток всё ещё ощущается. У меня уже был опыт создания текстового редактора, который я реализовывал с помощью ElectronJS. Он был доступен в AppStore и имел какие-то продажи, я никогда не пытался сделать из него коммерчески успешный продукт, это всегда был своего рода эксперимент. Однако, имея подобный опыт, я пришёл к мысли: - Почему бы не попробовать написать редактор, который будет простым, лакончиным и, в отличие от Electron, будет построен с помощью нативных виджетов и соответствовать гайдлайнам той операционной системы, которой я пользуюсь.

Долгое время я был разработчиком на языке Python, большая часть моей карьеры выстроена именно с ним и это натолкнуло меня на мысль, о использовании Python для разработки. Однако, язык это полбеды, нужно было выбрать графический тулкит. И, хотя, изначально мой взгляд пал на GTK+, как библиотеку, на которой выстроен интерфейс elementary OS, я не мог не рассмотреть другой лагерь, а именно - Qt.