Нажмите сюда: как Faust.js прислушивается к мнению сообщества

Опубликовано: 2023-09-01

Добро пожаловать в Press This, подкаст сообщества WordPress от WMR. В каждом выпуске участвуют гости со всего сообщества и обсуждаются самые важные проблемы, с которыми сталкиваются разработчики WordPress. Ниже приводится транскрипция оригинальной записи.

При поддержке RedCircle

Док Поп : Вы слушаете Press This, подкаст сообщества WordPress на WMR. Каждую неделю мы освещаем членов сообщества WordPress. Я ваш ведущий, Док Поп. Я поддерживаю сообщество WordPress своей ролью в WP Engine и своим вкладом в TorqueMag.Io, где я могу создавать подкасты, рисовать мультфильмы и обучающие видеоролики. Проверь это.

Вы можете подписаться на Press This в Red Circle, iTunes, Spotify, вашем любимом приложении для подкастов или загрузить выпуски прямо на wmr.fm.

Faust.js — это JavaScript-фреймворк, созданный для того, чтобы раскрыть возможности WordPress для автономных веб-сайтов. Faust — одна из немногих, если не единственная, JavaScript-платформа, специально созданная на основе безголового WordPress, а Faust.js официально вышел из бета-версии 12 июня 2023 года. И, возможно, некоторые функции появятся в ближайшее время, как раз к WordCamp в США. , что произойдет на следующей неделе. Итак, сегодня мой гость — Джо Фуско, старший инженер-программист WP Engine, работающий над Faust. И мы собираемся поговорить о некоторых из этих новых функций и о том, что изменилось с тех пор, как Фауст вышел из бета-версии.

Джо, как твои дела сегодня?

Джо Фаско: Хорошо, Док, спасибо, что приняли меня.

Док Поп: Да, большое спасибо, что присоединились к нам. Давайте начнем с того, что расскажем нам, как вы попали в WordPress?

Джо Фаско: Да, конечно. Итак, моя история происхождения WordPress: я начал использовать WordPress в 2013 году, примерно в версии 3.5. В то время я просто работал над своей идеей, просто создавал какие-то небольшие сайты, возился с ними и фактически начал работать с местным агентством в Рочестере, штат Нью-Йорк, создавая несколько индивидуальных тем.

И оттуда я получил свою первую удаленную работу в Inksub, компании, стоящей за WPMU Dev, EduBlogs и Campus Press. Так что у меня было немного времени на каждую из этих частей. Итак, я работал в этих компаниях, а затем переехал в Тампу, Флорида, где у меня была возможность работать в производственной компании, которая использовала WordPress не только для своего маркетингового сайта, но и внутри компании, а также для куча разных инструментов. Итак, тогда я приступил к работе с Headless WordPress.

Я там много занимался разработкой. Это было во время пандемии, поэтому все перешло на удаленку. У меня действительно была возможность вернуться в Рочестер, и именно тогда я начал работать в WP Engine. Так что да, с тех пор это было здорово.

Док Поп: Вы там упомянули кое-что, о чем я не подумал, но вы занимались WordPress, работали с некоторыми замечательными темами и продуктами. А потом, когда вы переехали во Флориду, вы все еще работали над WordPress, но вы делали WordPress без головы для фабрики. Мне кажется, это звучит очень интересно, и я чувствую, что вам нужно еще немного погрузиться в этот лакомый кусочек.

Джо Фаско: Абсолютно. Ага. Итак, эта возможность: однажды я только что получил электронное письмо со словами: «Эй, нам нравятся ваши материалы на GitHub. Можем ли мы пригласить вас спуститься?

И я сначала подумал, что это фейк, просто это показалось мне настоящим спамом. И я подумал: да, конечно, я спущусь.

И мне предложили работу. Это компания одного из крупнейших в мире производителей дверей. У них есть несколько зданий в Тампе. И это было действительно сюрреалистично, мы переехали туда всей семьей, мы пробыли там три года. И мы начали создавать множество безголовых компонентов.

Итак, настоящая организация, маркетинговая сторона, была очень хорошо знакома с WordPress. Они очень много вложили в WordPress. Таким образом, использование WordPress без головы имело смысл, учитывая, что на тот момент у нас уже были настроены эти системы. Так что да, на основе этого было создано несколько довольно крутых вещей, например, конфигураторы дверей.

Док Поп: Мне это нравится, большое спасибо, что углубились в это.

Джо Фаско: О да.

Док Поп: Мне нравится, что история превратилась в крупнейшего в мире производителя дверей и безголовую технологию WordPress, и все это связано воедино. Вернемся к разговору о Фаусте. Я считаю, что сначала Faust.js, а WP Engine впервые выпустил версию в конце 2021 года.

Типа сентябрь 2021 года. И вот совсем недавно, пару месяцев назад, они вышли из бета-версии с официальным релизом продукта. Можете ли вы рассказать нашим слушателям, что такое Faust.js и что произошло за те несколько лет между запуском проекта и его выходом из бета-версии?

Джо Фаско: Да, конечно, Faust.js изначально начинался, как мне кажется, как своего рода хакатон-проект, а затем развился. Прошел несколько разных этапов. Один из них был с GQty, клиентом GraphQL. С этого момента это был не лучший инструмент на тот момент, когда мы масштабировались.

Поэтому мы решили перейти на Apollo. И оттуда мы создали множество новых функций. Совсем недавно, выйдя из бета-версии, мы просто хотели указать сообществу, что это своего рода фреймворк, готовый к производству, поэтому, хотя ничего конкретно не было связано с этой версией 1.0, появилось несколько огромных идей. RFC для которого в настоящее время есть на GitHub.

Док Поп: Итак, давайте поговорим об этих RFC. Во-первых, я не вижу большого количества запросов на комментарии к плагинам в сообществе WordPress. Часто кажется, что разработчики слушают, проверяют Твиттер или что-то в этом роде. Но на самом деле это открытие и получение обратной связи. Это довольно интересно. Может быть, это потому, что это такой большой проект, поэтому вы все этим занимаетесь.

Но мне было интересно, прежде чем мы перейдем к конкретным RFC, может быть, вы могли бы просто рассказать нам, почему вы зашли на GitHub и обратились за комментариями от пользователей?

Джо Фаско: Да, Фауст — это проект с открытым исходным кодом. Тем не менее, это было своего рода корпоративным спонсором WP Engine. Поэтому с этим возникают свои проблемы. У нас есть собственный внутренний процесс, но мы находимся на GitHub с открытым исходным кодом, и там существует целая культура открытого исходного кода.

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

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

Док Поп: Одним из первых билетов, которые я увидел, был запрос на комментарии к компонентам React к блокам Гутенберга. В этом документе представлено подробное предложение по преобразованию существующих компонентов React в блоки Гутенберга. Люди, которые слушают, должны знать, что такое блоки Гутенберга, но это блочное редактирование, к которому перешел WordPress. Можете ли вы рассказать нам, для чего здесь это предложение?

Джо Фаско: Компоненты React для блоков Гутенберга. Это своего рода следующая эволюция моста React Gutenberg, если хотите, и, по сути, мы хотим взять существующие компоненты React, которые есть в приложении Next, и просто автоматически синхронизировать их с WordPress. Итак, если у вас есть блок Гутенберга, созданный в одном месте. Вам не нужно дублировать это, устанавливать плагин и иметь его с обеих сторон с дублирующимся кодом. Поэтому мы действительно хотим, чтобы Фауст смог справиться с этим и облегчить такую ​​​​связь между двумя экосистемами, если хотите.

Док Поп: А какие проблемы возникают при создании чего-то подобного?

Джо Фаско: Да, пока есть проблемы, я имею в виду, что мы определенно все еще открываем разные вещи с помощью этого, но на данный момент мы создали несколько POC и проделали около 90 процентов пути. Итак, некоторые из проблем прямо сейчас, одна из самых больших — это назвать. Я знаю, что это вроде как не техническая вещь, а просто, как мы эту штуку называем?

Назвать имя всегда сложно. Но помимо этого, я пытаюсь заставить WordPress думать, что этот блок, этот WordPress обычно не ищет такие блоки удаленно где-то еще, а просто заставляет его хорошо работать с WordPress. Что касается WordPress, то это будет просто традиционный блок, который вы можете создать с помощью помощника WordPress. Я думаю, это похоже на создание блока NPX.

Док Поп: В запросе на комментарии получили ли вы какие-либо отзывы по этому конкретному вопросу, которые помогли вашей команде или показали, что существует приоритет, о котором вы не ожидали услышать?

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

Док Поп: Да, я думаю, это хороший способ выразить это. Как вы говорите, это определенно неизведанная территория, даже с учетом имен. Назвать его части сложно, и есть много рабочих частей, но я также чувствую, что Гутенберг и редактор блоков все еще могут быть движущейся целью. Было ли это проблемой, когда вы разрабатываете что-то вокруг Гутенберга, и в его ядре происходят неожиданные изменения, или Гутенберг в наши дни довольно стабилен?

Джо Фаско: Да, отличный вопрос. Итак, вначале, когда я присоединился к команде, да, произошли некоторые изменения, которые немного отбросили нас назад, просто были другие схемы и все такое. Я бы сказал, что в этом году он был довольно стабильным, по крайней мере, с теми частями WordPress, которые мы используем.

Так что стало намного лучше. На самом деле мы концентрируемся только на готовых к производству вещах, но при этом внимательно следим за новейшими функциями Гутенберга.

Док Поп: И это хорошее место для нас, чтобы сделать небольшой перерыв. Когда мы вернемся, мы продолжим наш разговор с Джо Фаско о Faust.js и Headless WordPress, так что следите за обновлениями после этого короткого перерыва.

Doc Pop: Добро пожаловать обратно в Press This, подкаст сообщества WordPress. Я ваш ведущий, Док Поп. Сегодня мы поговорим с Джо Фаско из WP Engine о Faust.js и о том, что происходит с запросом комментариев по некоторым предлагаемым изменениям. И ранее в шоу мы говорили о том, что не многие из плагинов, за которыми я слежу, отправляют запросы на комментарии, которые я вижу, но, возможно, они это делают, и я не настолько на это настроен, но мы говорим о тех, которые которые сейчас выпускаются командой Faust.js, и мы говорили об одном RFC для компонентов React для блоков Гутенберга, еще один, о котором, я думаю, стоит упомянуть, — это Next.js, AppRouterSupport и Faust. Джо, можешь ли ты рассказать нам, в чем здесь заключается предложение?

Джо Фаско: Следующий. js App Router и предложение Faust. Мы провели небольшое исследование, чтобы понять, как можно поддержать новую функцию App Router в Next.js. Итак, мы предлагаем здесь некоторые возможные решения.

Но по сути, мы пытаемся сделать так, чтобы AppRouter использовал серверные компоненты React. Это означает, что мы можем как бы получать данные из WordPress на сервере, вместо того, чтобы делать один большой запрос GraphQL, чтобы получить все, как вы сейчас можете видеть в наших текущих примерах в репозитории Faust. Так что да, мы все очень рады этому.

Это как бы делает Фауста более независимым от фреймворков. Просто возможность поддерживать серверные компоненты React в целом. Итак, вы можете себе представить, что у вас есть какие-то настраиваемые поля в сообщении, а может быть, какие-то настраиваемые поля где-то еще или в меню. В идеале мы хотим, чтобы файлы могли обрабатывать их выборку или, по крайней мере, предоставлять утилиты, которые помогут разработчикам как бы снизить трудности при начале работы с WordPress и headless.

Док Поп: Я вижу, что частью предложения является то, что с появлением AppRouter появится новый файл под названием head.Js, который имеет специальную поддержку для получения метаданных, что должно помочь пользователям в SEO. Можете ли вы рассказать немного о преимуществах?

Джо Фаско: Мы работали или просто проводили мозговой штурм, как мы хотим с этим справиться. Итак, SEO — это огромная часть WordPress, множество плагинов для SEO, и на самом деле в безголовой части SEO нет, оно не является приоритетом, по крайней мере, в безголовом WordPress. Это что-то вроде создания собственного решения.

Поэтому мы хотим, чтобы Faust смог заполнить этот пробел, и думаем, что этот API метаданных определенно может помочь нам в этом.

Док Поп: И еще, как часть этого изменения, вы упомянули, что оно поможет Фаусту оставаться агностиком. И я вижу, что это поможет разработчикам плагинов и людям, которые их используют. Можете ли вы рассказать, что означает это изменение? Почему поддержка AppRouter может помочь плагинам лучше работать с Faust?

Джо Фаско: Да, да, конечно. Это предложение представляет собой своего рода смену парадигмы. Мы не думаем о том, чтобы заменить текущую настройку Faust, а скорее просто предлагаем больше утилит и помощников. Итак, вы можете представить, что плагин WordPress имеет некоторые пользовательские настройки. Faust предоставляет инструмент, позволяющий быстро получить доступ к тем, что находятся в интерфейсе вашего приложения Next. Да, просто помогите облегчить связь между двумя экосистемами WordPress и Next.

Doc Pop: WordPress Rest API был выпущен в версии 4.7. Я не могу вспомнить, был ли это, возможно, 2016 год. И мне просто интересно, что такое GraphQL, потому что мы много говорим об этом с Faust.js. Что предлагает GraphQL, чего, возможно, люди не могут получить от REST API в ядре WordPress?

Джо Фаско: Да-да, отличный вопрос. GraphQL позволяет, я бы сказал, самое главное, не вдаваясь слишком глубоко в то, что такое GraphQL, а просто формирую ваши данные так, как вы этого хотите. Итак, я могу решить: «Эй, я хочу, чтобы из WordPress возвращались только X, Y и Z». Я могу отправить запрос, в котором эти вещи будут расположены в том порядке, в котором я хочу.

И GraphQL через плагин WP GraphQL предоставит это именно в той форме, которую я хочу. Так что мне не придется фильтровать кучу мусора в ответе. Это может быть похоже на REST. Там много лишнего.

Doc Pop: WordCamp US, я упомянул в начале шоу, приближается WordCamp US, а запись состоится на следующей неделе. Мне просто интересно, во-первых, планируете ли вы поехать на WordCamp в США и смогут ли люди связаться с вами там. И, во-вторых, возможно, там будет какое-либо представление Faust или GraphQL, например, на стенде WP Engine, или появятся ли какие-либо новые объявления по этому поводу.

Джо Фаско: Да, да, конечно. Так что я обязательно поеду на WordCamp в США. Очень взволнован этим. Это будет мой второй. Думаю, мой другой был в Филадельфии в 2015 году. Но да, я буду там, рад ответить на любые вопросы, буду торчать у стенда WP Engine. Со мной будут еще несколько человек, я думаю, это Джефф Эверхарт и Джордан Маслин, так что обязательно приходите, поздоровайтесь и поразмышляйте над нами.

Док Поп: WP Engine часто имеет отличные преимущества. Я их не видел, но будут ли какие-нибудь наклейки или что-нибудь для Фауста? Я не знаю, есть ли у этого сообщества собственный бренд.

Джо Фаско: Итак, я не думаю, что сейчас у нас будут какие-либо наклейки, посвященные Фаусту. Я знаю, что там будут и другие вещи, но да, мы вроде как в начале, только начинаем немного брендировать Фауста по мере его взросления.

Док Поп: По этой теме, если людям интересно, если они слушают это и интересуются Фаустом, что, возможно, было бы полезно для них сделать, чтобы узнать об этом и немного погрузиться в это? попробовать?

Джо Фаско: Нам бы хотелось, чтобы вы все, кто заинтересован, попробовали это. Я бы сказал, что лучший способ — просто посетить наш сайт faustjs.org. Вы можете перейти в раздел «Начало работы», и он проведет вас через один из наших примеров проектов, где вы можете просто настроить его с помощью одной команды, запустить его и посмотреть, как там движутся и работают данные.

Док Поп: Этот пример проекта основан на сети. Знаете ли вы, это то же самое, что и WordPress, я думаю, это называется, я не знаю, является ли это песочницей WordPress, но это что-то вроде онлайн-версии WordPress, где вы можете опробовать ее, не размещая ее на хостинге. Вы там все одно и то же используете?

Джо Фаско: Итак, на нашем текущем сайте нет никаких игровых площадок WordPress, но это то, на что я лично смотрю, и меня тоже это интересует. Итак, у меня есть Code Pen, которым я мог бы после этого поделиться со ссылкой на плагин Faust WordPress, настроенный с помощью GraphQL на игровой площадке WordPress.

Так что это определенно быстрый способ проверить сторону WordPress.

Док Поп: Могут ли люди найти на веб-сайте, о котором вы только что упомянули, ссылку на GitHub? Или нам следует дать им и для этого быструю ссылку?

Джо Фаско: Да, я могу добавить ссылку на это, но да, GitHub — это WPEngine.Faustjs, и там хранятся наши пакеты NPM и плагин WordPress, так что приходите и проверьте это,

Док Поп: Мы собираемся сделать еще один небольшой перерыв, а когда вернемся, мы завершим наш разговор с Джо Фаско о Faust.Js, GraphQL и Headless WordPress, так что следите за обновлениями сразу после этого короткого видео. перерыв.

Doc Pop: Добро пожаловать обратно в Press This, подкаст сообщества WordPress. Я ваш ведущий, Док Поп. Сегодня мы поговорим с Джо Фаско о Faust.js и некоторых будущих вещах. Мы говорили о запросе комментариев. Мы говорили об официальном выходе из бета-тестирования. Мы говорили о WordCamp US. И я думаю, последнее, о чем я хочу спросить Джо, это то, что мне всегда интересно, когда появляются такие новые технологии, есть ли у меня способы увидеть их в дикой природе.

Есть ли какие-нибудь хорошие примеры использования Faust.js в дикой природе, чтобы люди могли поиграть с ними или хотя бы просто услышать историю о том, как он используется?

Джо Фаско: Да, абсолютно. Так что мы очень довольны тем уровнем принятия, который Фауст получает на данный момент. Настолько, что даже WP Engine сейчас использует Faust и размещается на нашей платформе Atlas. Так что обязательно проверьте это, посмотрите, насколько это быстро, и да, это действительно круто.

На faustjs.org мы планируем добавить небольшой раздел, в котором будут представлены некоторые из тех замечательных сайтов, которые в настоящее время используют Faust. И да, одним из них является наш основной сайт WPEngine.com, который также работает на платформе Atlas.

Вам не обязательно использовать WP Engine, чтобы использовать Faust. Просто хочу это уточнить. Его можно использовать с любой платформой. Но мы считаем, что Атлас — лучшая среда для размещения Фауста.

Док Поп: И мы не говорили конкретно об Атласе. Хотите быстро понять разницу между Атласом и Фаустом?

Джо Фаско: Да, значит, Atlas — это безголовый фреймворк WP Engine. Итак, если вы хотите разместить сайт WordPress и сторону Node, следующим шагом будет Atlas. Вместе с этим предлагается множество других инструментов, таких как Atlas Search. Он довольно мощный, в него входит множество замечательных функций, которые активно разрабатываются.

Док Поп: Что ж, это отличная возможность завершить разговор с Джо Фаско. Если вы хотите узнать больше о Faust.js, посетите сайт faustjs.org. Вы также можете найти их на GitHub. И я уверен, что если вы посмотрите в Твиттере и других местах, вы тоже сможете найти людей, говорящих об этом.

Док Поп: Спасибо, что послушали Press This, подкаст сообщества WordPress на WMR. Еще раз, меня зовут Док, и вы можете следить за моими приключениями с журналом Torque в Твиттере @thetorquemag или зайти на сайт Torquemag.io, где мы каждый день публикуем учебные пособия, видео и подобные интервью. Так что загляните на сайт Torturemag.io или подпишитесь на нас в Твиттере. Вы можете подписаться на Press This на Red Circle, iTunes, Spotify или загружать его прямо на wmr.fm каждую неделю. Я ваш хост Doctor Popular. Я поддерживаю сообщество WordPress своей ролью в WP Engine. И мне нравится каждую неделю освещать членов сообщества в программе «Press This».