Команда WP REST API на днях выпустила версию 2 beta 12 проекта. Дэниэл Баххубер привел изменения, которые разработчики должны будут отметить для себя перед обновлением. В beta 12 конечные точки meta были удалены из основного плагина и вынесены в отдельный функциональный плагин, который теперь доступен на WordPress.org.
В комментариях к продолжающемуся обсуждению один из участников WP REST API Джо Хойл разъяснил позицию команды по поводу готовности конечных точек для слияния API c ядром:
«Наша официальная позиция такова: команда REST API поддерживает дальнейшую итерацию существующих конечных точек перед внесением API в ядро. Это означает, что мы будем ждать, пока команда API WordPress.com использует эти конечные точки в продакшне или пока мы не получим больше обратной связи от других участников. Я выступаю против слияния чего-либо с ядром, пока это не будет тщательно проверено и протестировано.
Предложение команды заключалось в том, чтобы включить 4 конечные точки, когда они будут готовы. У нас был длительный анализ прогресса этих конечных точек. Всю информацию о том, что нам еще осталось сделать, вы можете видеть в очереди проблем для майлстоуна 2.0.
Почему именно эти конечные точки? Потому что они по большей части взаимозависимы. Поставка записей без поддержки таксономий вряд ли будет таким уж полезным шагом»
Хойл также высказал свое мнение о том, что полное покрытие wp-admin – это монументальная задача, которая может занять несколько лет:
«Разработку всей функциональности (примерно 8-10 маршрутов данных) нельзя недооценивать. Мы потратили примерно полтора года, чтобы получить те 4 конечных точки, которые мы имеем сейчас. До этого тоже шла активная работа – достаточно вспомнить, что версия 1.1 REST API была выпущена еще в июне 2014 года.
Я как человек, который напрямую столкнулся со сложностями реализации REST API, не могу не сказать о том, насколько сложно было модернизировать цельный, согласованный интерфейс, являющийся результатом 13-летнего органичного развития кода и идей. Я рассчитываю и дальше разрабатывать функциональность, однако я не хочу ограничивать пользователей и девелоперов от возможностей пользоваться тем, что уже было создано за все эти годы».
Хойл подчеркнул, что команда не предлагает прямо сейчас сливать в ядро существующие конечные точки, однако он надеется, что это произойдет очень скоро.
Выход релиза v2 beta 12 ознаменовал собой поиск консенсуса между двумя сторонами. Баххубер призвал ведущих разработчиков и участников дать обратную связь по поводу проекта. Учитывая недавние разногласия на прошедшей встрече, становится ясно, что проект вряд ли готов пока для включения в ядро.
Обратная связь от участников уже начинает поступать. Участник разработки ядра WordPress Джереми Фелт поделился своими мыслями в блоге:
«Я выступаю за предложение команды WP REST API по внесению в ядро конечных точек для четырех базовых объектов в WordPress – записей, комментариев, пользователей и термов – когда эти конечные точки будут готовы.
Если эти конечные точки будут введены, фронтэнд-разработчики смогут незамедлительно воспользоваться всеми их преимуществами»
Участник разработки ядра Уэстон Рутер описал свое мнение в твите:
«Я за итеративное включение конечных точек REST API. Всем клиентам нужно рекомендовать использовать обнаружение возможностей».
Бета-версии плагина продолжают выходить, подталкивая обсуждение WP REST API. Разработчики, которые используют API в бета-версии, должны будут воспользоваться новым релизом, поскольку он несет в себе изменения для уже существующих возможностей. Разработчик 10up Эрик Манн расписал некоторые из своих проблем при использовании API в бета-версии:
«Мой клиент установил REST API перед тем, как в API появились метаданные записей. Нам понадобилось провести огромную работу по поддержке метаданных. Затем REST API обновился, стал включать метаданные, и в итоге наша интеграция перестала работать. Я потратил кучу времени на то, чтобы провести рефакторинг кода, и в итоге мы смогли обновить REST API. Теперь API убирает эту поддержку метаданных и выносит ее в отдельный плагин. Люди будут критиковать меня за эти слова, но я опасаюсь слишком сильно полагаться на стабильность API»
Джо Хойл в настоящее время занимается краудсорсингом в проектах, которые уже используют WP REST API v2 в продакшне. Девелоперы, принявшие решение перейти на API, должны быть готовы к тому, что им придется приспособиться к быстрой разработке проекта. В данный момент команда WP REST API согласна с тем, что перед добавлением существующих конечных точек в ядро требуется их дальнейшая доработка. Обратная связь от разработчиков, в проектах которых уже используется API, будет очень важна для демонстрации готовности WP REST API.