Участие в Gutenberg: опыт нового участника
Опубликовано: 2018-10-13
Ниже приводится гостевой пост Криса Ван Паттена, который делится своим опытом обучения и участия в Гутенберге. Было много разговоров о более высоком входном барьере Гутенберга для новых участников. Ван Паттен — основатель Tomodomo, цифрового агентства для издателей журналов.
За последние несколько месяцев, но особенно за последние несколько недель, велись обширные разговоры о барьерах для входа, существующих при участии в грядущем редакторе Gutenberg для WordPress.
Конечно, опыт каждого субъективен и уникален. Я не могу притворяться, что понимаю, что все чувствовали. Но мой опыт отличался от того, что описывали некоторые люди, и я хотел поделиться своим мнением.
Первые дни
Я использовал WordPress почти половину своей жизни; уже почти 15 лет. Я помню некоторые из самых ранних версий WordPress: классическая тема, появление Кубрика, MP6, вплоть до наших дней.

Как и многие в сообществе, я полностью самоучка. У меня нет знаний в области компьютерных наук, и у меня нет формального обучения за плечами. Я набирал код методом проб и ошибок, настраивая файлы и ломая свой сайт, когда хотел внести изменения.
С тех пор WordPress всегда был моей предпочтительной CMS как для личных проектов, так и для клиентов моего агентства Tomodomo. Но даже несмотря на то, что я посвятил себя платформе WordPress, мой вклад был ограничен.
Правила, ритуалы и этикет, связанные с публикацией на Trac, казались загадочными и неразборчивыми. До сих пор я не мог сделать патч для SVN, даже если бы от этого зависела моя жизнь. И большую часть основного кода, пропитанного многолетней историей и обратной совместимостью, мне было трудно разобрать.
Поэтому вместо этого я вносил свой вклад другими способами: открывал исходный код простых пользовательских плагинов, которые я создавал, организовывал WordCamps и встречи, а также выступал на WordCamps по всему миру. Но меня всегда беспокоило, что я не мог найти способ получить эти неуловимые «реквизиты».
(Хорошо, так что я действительно получил реквизиты в одном выпуске, но я убежден, что это была ошибка; я не открывал тикет и не предоставлял патч.)
Иду… Иду… Гутенберг
Когда я впервые узнал о Гутенберге и начал исследовать, я был напуган. Сначала это казалось страшным. Мои способности к JavaScript не выходили за рамки jQuery. React был непостижим, и казалось, что мне понадобится докторская степень, чтобы понять некоторые идеи, лежащие в его основе. Я до сих пор не понимаю, как работает Webpack. Кто-нибудь, правда?
Но возможности нового блочного интерфейса были слишком заманчивы, чтобы их игнорировать, поэтому я начал погружаться и выяснять, как это работает. В те безмятежные дни (ранее в этом году) Гутенберг все еще был довольно грубоват, и было много возможностей для улучшения. Я начал заглядывать в репозиторий GitHub, читать проблемы, изучать код и вообще пытаться понять, что, черт возьми, происходит.
Пока я экспериментировал с Gutenberg для клиентского проекта, я начал сообщать о проблемах: о простых вещах, таких как ошибки пользовательского интерфейса. Я начал комментировать тикеты, обычно предлагая предложения по той или иной функции, пытаясь выступать с точки зрения независимых разработчиков.
Я даже подал свой первый запрос на включение! Это было просто. Я обновил README, чтобы указать день и время еженедельной встречи #core-editor (по средам в 13:00 UTC, если вам интересно). Это было неблагоприятное начало, но я был взволнован, чтобы слить его.
Со временем мои знания росли. Это было похоже на мои первые дни в веб-разработке, где я изучал свойство CSS здесь и элемент HTML там. Я узнал, что такое компонент и как его можно повторно использовать в различных ситуациях. Я узнал о JSX и ES6, а также о некоторых других сумасшедших аббревиатурах, с которыми вы столкнетесь в Гутенланде.

По мере того, как я строил больше с помощью Gutenberg, я также находил новые способы создания самого Gutenberg . Я смог лучше понять обсуждения и высказать свои мысли и предложения. Я начал открывать пул-реквесты, в основном занимаясь проблемами дизайна, а также исправляя небольшие ошибки и причуды. Я взял себе за правило посещать еженедельные собрания, которые я ранее добавил в README, вмешиваясь, когда я чувствовал, что у меня есть больше перспектив, которыми я мог бы поделиться.
Сегодня у меня за плечами 25 новых выпусков и 27 запросов на включение, в дополнение к десяткам комментариев к существующим тикетам. Я являюсь «членом» команды Gutenberg на GitHub и стараюсь каждый день находить время для сортировки новых ошибок или проверки запросов на вытягивание. Мне потребовалась большая часть года, чтобы добраться до этой точки, и это, конечно, не всегда было легко. Мне еще так многому предстоит научиться.
Когда я слышу о том, как сложно внести свой вклад в Гутенберг, я не могу сопоставить это со своим собственным опытом. Это не значит, что это легко: Гутенберг делает вещи совсем иначе, чем ядро WordPress, и, несомненно, есть кривая обучения.
Советы по вкладу в Гутенберг
Если вам неудобно кодировать с первого дня, есть много других способов внести свой вклад. Прочитайте вопросы и добавьте свои собственные идеи и предложения. Попробуйте протестировать и воспроизвести отчеты об ошибках. Просмотрите встроенную документацию на наличие опечаток и грамматических исправлений. Все это ценно и всегда ценится.
Когда вы впитаете метод Гутена через осмос, вы обнаружите, что код не так сложен, как вы думаете, — он просто другой. Умные люди, разработавшие Gutenberg, проделали большую работу по сокрытию элементов «информатики», поэтому остальным из нас не нужно беспокоиться о привязке данных и других сложных идеях. Я до сих пор не могу объяснить управление состоянием, хранилища данных или контекстные API, но мне удалось найти небольшие области кода, которые нужно улучшить.
Это не отрицает чье-либо разочарование или замешательство в отношении Гутенберга и его развития. Документация по-прежнему отсутствует во многих местах. Некоторые API не интуитивно понятны. Инструмент не самый простой в настройке. Это настоящие проблемы, и я не хочу притворяться, что их не существует; мы, несомненно, можем сделать больше, чтобы упростить разработку Gutenberg.
И, конечно же, у меня есть возможность проверить: мне повезло, что у меня есть время проводить в репозитории GitHub, экспериментировать с кодом и участвовать в еженедельных встречах. Я понимаю, что это не реальность для многих людей.
Если вы не можете найти время, классический редактор по-прежнему будет доступен, и нет ничего постыдного в продлении обновления. Может потребоваться время, чтобы опыт Гутенберга стал настолько интуитивным, каким мы все хотели бы его видеть, и ожидание этого вполне разумно.
Но если вы откроете для себя новые идеи о том, чем может быть WordPress, и сможете найти время, вы можете в конечном итоге удивиться тому, насколько легко внести свой вклад. Если вы зашли в тупик, загляните в #core-editor или на форумы. Не бойтесь отправлять сообщения об ошибках или предложения; мы могли бы объединить его с другой проблемой, если бы о ней сообщалось ранее, но дополнительная информация по-прежнему ценна. Каждый опыт важен.
Я невероятно взволнован будущим WordPress с Гутенбергом и тем, что наконец-то стану настоящим участником WordPress. Нам предстоит пройти долгий путь, но это означает, что есть еще много интересных способов изменить мир к лучшему. Проект будет только укрепляться, когда к нему присоединятся все больше независимых голосов сообщества.
Я надеюсь, что вы присоединитесь к нам!
