Огромный сборник статей от WPTec для начинающих

Мнение

Гутенберг может решить проблемы, которые пытается решить Fields API

API полей.

Никогда об этом не слышал? Все в порядке. Вне сообщества внутреннего разработчика это не так широко известно. Среднестатистическому пользователю WordPress не нужно об этом знать. Прежде чем понять, как Fields API вписывается в будущее Гутенберга, вы должны сначала понять, что это такое и какие проблемы он должен был исправить.

Fields API был предложенным решением одной из самых больших проблем WordPress: чтобы создавать поля формы в админке и сохранять данные из этих полей, разработчикам необходимо знать несколько API, в зависимости от конкретного экрана администратора.

Хотите создать экран настроек плагина? Используйте API настроек.

Нужны варианты темы? Создайте их с помощью Customize API.

Есть ли поля для вывода на экран пользователя? Вот две ловушки и беспорядок разметки HTML-таблицы; извините, официального API нет.

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

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

В дополнение к техническому бремени, когда проект Gutenberg был запущен, он представил новую систему на другом языке программирования.

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

В 2014 году Скотт Кингсли Кларк возглавил проект пользовательского интерфейса метаданных . Первоначальная идея заключалась в создании API для добавления настраиваемых полей (полей мета-поля) на экран пост-редактирования. В конце концов, Кларк и те, кто работал над проектом, поняли, что проблема, которую нужно было решить, была больше, чем мета-боксы. WordPress нуждался в API, который работал бы повсеместно. Через год проект был перезапущен как Fields API .

После нескольких лет работы над кодом, лежащим в основе проекта, Кларк выдохся. Он ушел с поста руководителя проекта в 2018 году. Без поддержки со стороны лиц, принимающих решения по проекту WordPress, было мало надежды на то, что он войдет в ядро. На тот момент проект был практически мертв .

Развитие Гутенберга шло полным ходом. Разработчики готовились к тому, чтобы заново научиться добавлять одни и те же базовые текстовые поля и другие элементы формы совершенно по-новому.

Если бы Fields API попал в WordPress раньше, чем редактор блоков, это могло бы облегчить разработчикам потребность в изучении новой системы. Однако сегодня мы не на этом. Fields API так и не прошел мимо привратников, и у разработчиков есть еще одна вещь, о которой нужно знать.

Вопрос в том, как решить эту проблему в будущем?

Как проект Гутенберга может решить проблему Fields API

Многие не понимают, что проект Гутенберга больше, чем редактор контента. Первая итерация, Фаза 1, проекта заключалась в создании нового опыта редактирования. На этапе 2 будут созданы новые административные экраны для редактирования сайта с использованием тех же компонентов для редактора. Настраиваемые текстовые поля, раскрывающиеся списки выбора, параметры цвета или один из многих других типов полей – все они проходят через одну и ту же многократно используемую систему на основе компонентов.

Это звучит удивительно похоже на Fields API. В конце концов, Fields API – это просто стандартизированный метод повторного использования компонентов для вывода полей формы и сохранения данных, независимо от экрана в WordPress.

WordPress нужно перестраивать с нуля. Гутенберг дает нам возможность переписать каждую страницу администратора в WordPress, используя стандартизированную систему обработки полей формы.

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

Следующим шагом будет установка базового уровня для других экранов администратора. Это будет нелегко. Будут горы обратной совместимости, на которые Fields API мог бы подняться для нас много лет назад.

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

Для успеха проекту Гутенберга необходимо иметь более широкое видение и долгосрочную дорожную карту, которая решает проблемы полей на каждом экране. В противном случае проекты с более простыми в освоении API-интерфейсами будут более привлекательными для разработчиков.

Идея Гутенберга полностью отказаться от админки WordPress будет отталкивать многих, но WordPress в какой-то момент должен решить проблему с полями формы. С таким же успехом можно повторно использовать компоненты, которые будут активно развиваться в ближайшие годы.

 

Рекомендуем прочитать
Мнение

Плагин Delete Me для WordPress помогает владельцам веб-сайтов предоставить право на забвение GDPR

Мнение

Команда Gutenberg наращивает юзабилити-тестирование в WordCamp US

Мнение

Плагин распространителя теперь в бета-версии: новое решение для синдикации контента WordPress от 10up

Мнение

Gutenberg 1.8 добавляет большую расширяемость для разработчиков плагинов

Подпишитесь на рассылку
и будьте в курсе новостей Wordpress

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *