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

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

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

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

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

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

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

Q: Неужели нам и вправду нужно новое IDE, тогда как в GNOME уже существуют такие как Eclipse, MonoDevelop, NetBeans?
Если бы хоть одна из них соотвествовала моим желаниям, я бы ей пользовался. Я трепещу, когда другие заинтересованы в том же, чего хочется мне. Это отличная и качественная среда разработки, которая сконструирована для нашей фантастической платформы, чтобы создавать для неё приложения.

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

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

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

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

Q: Какой была реакция у людей, которые узнали, что ты бросил карьеру чтобы посвятить всё своё время работе над Builder?
В основном положительная, я полагаю. Обычно это результат разговора о важных вещах в жизни.

Q: Какого рода приложения написаные при помощи Builder ты бы хотел увидеть?
Ух-ты! Я могу придумать много чего, что можно разработать с его помощью.

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

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

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

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

Q: Многие полагают, что будующее за Web и мобильными приложениеми. Как ты это прокомментируешь?
Кому-то приходится разрабатывать web-браузеры и мобильные платформы. И людям, которые выбрали эти платформы, необходимо выбирать базовые технологии. Выглядит все это как неплохая идея привлечь разработчиков написанием инструментов, которыми действительно забавно пользоваться.

Q: Ты проводишь сбор средств. Хочешь что-нибудь рассказать нам об этом?
Да, провожу! Вы можете найти кампанию на Indiegogo по ссылке: https://www.indiegogo.com/projects/builder-an-ide-of-our-gnome/

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

Q: Хочешь добавить ещё что-нибудь?
Я надеюсь, что вам нравится использовать Builder для своих задач, также как мне нравится его создавать!

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

[0] Нужное количество средств уже собрано, но вы можете помочь деньгами на дополнительные возможности.


Написано: Oliver Propst
Фото: Jakub Steiner
Переведено на русский: Alexandra Nikandrova, Igor Gnatenko, PaulCarroty

Оригинал