Я занимаюсь исключительно настольными приложениями для Linux и живу внутри экосистемы GNOME, собирая программы на Vala и GTK. В отличие от веб- и мобильных разработчиков, я сосредоточен на классическом рабочем столе и знаю его привычки: интерфейс уважает системные рекомендации, переключается между светлым и тёмным оформлением, тянется под любой размер окна и не замирает, поскольку долгие задачи я увожу из главного цикла в фоновые потоки. От вас идея или старый инструмент, от меня — готовое приложение, которое устанавливается и запускается без сюрпризов на любой системе.
Мой рабочий инструмент — Vala в связке с GObject. Он даёт лаконичный и безопасный по памяти код, который превращается в обычный C и легко стыкуется со всем набором библиотек GNOME. Я выстраиваю аккуратные библиотеки с корректной интроспекцией, добавляю асинхронный ввод-вывод, храню настройки через GSettings, упаковываю ресурсы в GResource и собираю окна на виджетах libadwaita. Если где-то важна скорость, спускаюсь к чистому C и подключаю его без грязных обёрток, а всю сборку веду на Meson, как принято в свежих проектах платформы.
И главное — я довожу работу до пользователя. Программа имеет ценность лишь тогда, когда её можно поставить, поэтому я готовлю пакеты Flatpak с продуманными манифестами и правами, оформляю значки, desktop-записи и локализацию, проверяю запуск на разных дистрибутивах. После сдачи остаётся понятная история изменений и документация, с которыми ваша команда спокойно продолжит развитие.
— Настольные программы GNOME на Vala и GTK4 с libadwaita
— Библиотеки GObject с корректной интроспекцией и привязками
— Асинхронный ввод-вывод, GSettings, GResource, работа с D-Bus
— Сборка через Meson и подключение C там, где нужна скорость
— Пакеты Flatpak: манифесты, значки, интеграция с окружением
— Перенос и обновление старых программ с GTK3
Мой рабочий инструмент — Vala в связке с GObject. Он даёт лаконичный и безопасный по памяти код, который превращается в обычный C и легко стыкуется со всем набором библиотек GNOME. Я выстраиваю аккуратные библиотеки с корректной интроспекцией, добавляю асинхронный ввод-вывод, храню настройки через GSettings, упаковываю ресурсы в GResource и собираю окна на виджетах libadwaita. Если где-то важна скорость, спускаюсь к чистому C и подключаю его без грязных обёрток, а всю сборку веду на Meson, как принято в свежих проектах платформы.
И главное — я довожу работу до пользователя. Программа имеет ценность лишь тогда, когда её можно поставить, поэтому я готовлю пакеты Flatpak с продуманными манифестами и правами, оформляю значки, desktop-записи и локализацию, проверяю запуск на разных дистрибутивах. После сдачи остаётся понятная история изменений и документация, с которыми ваша команда спокойно продолжит развитие.
— Настольные программы GNOME на Vala и GTK4 с libadwaita
— Библиотеки GObject с корректной интроспекцией и привязками
— Асинхронный ввод-вывод, GSettings, GResource, работа с D-Bus
— Сборка через Meson и подключение C там, где нужна скорость
— Пакеты Flatpak: манифесты, значки, интеграция с окружением
— Перенос и обновление старых программ с GTK3