GNOME Builder

Интервью с Christian Hergert о IDE для GNOME – Builder

Кристиан намеревается улучшить свой опыт разработчика GNOME в новом проекте – Builder. Мы встретились с ним, чтобы узнать для чего же нужно новое IDE и инструментарии разработчика, об отсутствии приложений для GNOME и о многом другом.

— Расскажи кто ты, что такое Builder и зачем ты его создал?



— Я давно участвую в разработке свободного ПО, и, в частности, в проекте GNOME.И также являюсь участником таких проектов как Mono и, относительного нового проекта MongoDB. Я разрабатываю ПО для GNU/Linux уже больше половины своей жизни и никогда не был особо счастлив с текущим положением дел.

Годами я участвовал в различных проектах, которые помогали улучшить мои навыки разработки в GNU/Linux. Mono и MonoDevelop были серьёзной попыткой улучшить ситуацию. Но эти проекты не были сфокусированы на тех вещах, которые меня особенно волновали. Больше всего меня заботит GNOME, потому что этот проект нацелен на создание доскональной, функциональной, утонченной и красивой рабочей среды.

После того, как я поработал над проектами GTK+ в компании VMware, понял, что нуждаюсь в лучшей среде разработки. Builder был идеей, с помощью которой я собирался создать для себя инструмент разработчика.

Разработчики ПО часто создают свои инструменты, сродни тому, как действуют плотники — что бы улучшить старое и сделать возможным что-то новое. Я хотел получить преимущество над всеми имеющимися свойствами новых компиляторов и инструментов, доступных на нашей платформе. Хотелось получить что-то с минимальным пользовательским интерфейсом, без отвлекающих от кода элементов, так как сам код – важнейшая часть нашего дела. Мне так же была необходима непрерывная работа, которая не отвлекала бы меня на переключение между приложениями. Мне хотелось получить концептуально важную информацию в прямом контексте, без необходимости cнова и снова думать над ней. На различных хакфестах GNOME стало понятно, что другие люди хотели того же самого. Так что этот проект очень важен для меня. Я пишу ПО для тех, кого считаю своей большой семьёй – для проекта GNOME.

— Это правда, что ты бросил работу чтобы заниматься своим проектом всё доступное время?

— Это действительно так. Единственное, что я почерпнул из своей карьеры — если тебе необходимо сделать что-то великолепное, то оно будет требовать постоянного фокусирования и преданности делу. Балансировка между работой и персональными проектами не даёт того хорошего результата, который бы хотелось дать нашему сообществу. Хочу добавить, что если вы хотите нанять меня для работы над Builder, то я бы с радостью снова приступил к работе.

— Неужели нам и вправду нужно новое IDE, тогда как в GNOME уже существуют такие проекты как Eclipse, MonoDevelop, NetBeans?

— Если бы хоть одно из них соответствовало моим желаниям, я бы им пользовался. Я трепещу, когда другие люди заинтересованы в тех же вещах, которые интересны мне. Builder – это отличная и качественная среда разработки, которая сконструирована для нашей фантастической платформы, чтобы создавать для неё приложения.

Может показаться, что Builder будет громоздким приложением, но это не так. Мы используем многие существующие в экосистеме GNOME технологии, например: Glade, Gitg, Nemiver, GtkSourceView, Devhelp, autoconf/automake и др. Мы считаем их отличными и они заслуживают стать ещё лучше.

Eclipse, MonoDevelop, NetBeans и другие IDE – эти среды разработки состоят в основном из больших плагинов и больше потребляют ресурсов чем приносят пользу. Это такие плагины, при запуске которых на большинстве современных IDE ты даже не знаешь запустил ли ты их правильно. Количество ошибок, которые я видел при запуске Eclipse, снится мне в кошмарах.

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

В дополнение хочу сказать, что главное достижение Builder – это UX для разработчиков. Это невозможно понять. Если просто взять какую-либо IDE и добавить в неё плагины – это несущественно изменит UX этого IDE. Мы хотим применить совершенно другой подход к нашему IDE, основанный на нашем опыте программирования в свободных проектах. Это основная причина почему мы не переписываем Anjuta. Мы поняли, что не сможем сменить ключевые части интерфейса без последствий для пользователей Anjuta.

— Какой была реакция у людей, которые узнали, что ты бросил карьеру чтобы посвятить всё своё время работе над Builder?

— В основном положительная, я полагаю. Обычно это результат разговора о важных вещах в жизни.

— Какого рода приложения написанные при помощи Builder ты бы хотел увидеть?

— Ух-ты! Я могу придумать много идей для приложений, которые можно разработать с его помощью. Например что-нибудь для создания презентаций. До меня доходят разговоры и пожелания о программе, которая позволила бы сфокусироваться на содержании слайда, а не на самом его создании. Также хочется иметь возможность перелистывания слайдов с помощью Bluetooth или mDNS с моего телефона. Я очень недоволен LibreOffice и такими небольшими проектами как Pinpoint, которых явно недостаточно для этого. Мне не нужна совместимость с другими инструментами для создания презентаций.

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

У меня и моего соседа есть NAS-хранилище со всеми DVD и CD, которые мы когда-то записывали или покупали. Было бы здорово, если бы этот контент можно было воспроизвести где угодно и который бы просто работал, как говорится, “из коробки”.

В общем, всю информацию можно найти на GNOME wiki по ссылке:
https://wiki.gnome.org/Design/Apps/

— Многие люди полагают, что будущее за Web и мобильными приложениями. Как ты это прокомментируешь?

— Кому-то приходится разрабатывать web-браузеры и мобильные платформы. И людям, которые выбрали эти платформы, необходимо выбирать базовые технологии. Выглядит все это как неплохая идея привлечь разработчиков написанием инструментов, которыми действительно забавно пользоваться.

— Ты проводишь сбор средств для Builder. Хочешь подробнее рассказать нам об этом?

— Да, провожу! Вы можете найти кампанию на Indiegogo по ссылке: https://www.indiegogo.com/projects/builder-an-ide-of-our-gnome/

— Что ещё могут сделать люди для поддержки твоего проекта?

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

— Хочешь добавить ещё что-нибудь?

— Я надеюсь, что вам нравится использовать Builder для своих задач так же, как мне нравится его создавать!

— Спасибо, что уделил нам время. Мы желаем Кристиану удачи со сбором средств и продолжать стараться над разработкой Builder.

Примечание перев.: Нужное количество средств уже собрано, но вы можете помочь деньгами на дополнительные возможности.
Брал интервью Oliver Propst

Оригинал интервью

Фото Jakub Steiner

Переведено на русский Alexandra Nikandrova, Igor Gnatenko, PaulCarroty