Участники WordPress ищут возможности продвижения работы над WP REST API

Дата публикации:Февраль 10, 2016

На выходных обсуждение, связанное с разработкой WP REST API, продолжилось – Мэтт Мулленвег и Райан Маккью выразили в своих блогах мнения по поводу прошедшей встречи. Расхождения во мнениях породили жаркие споры о том, что именно должно определять готовность API для слияния с ядром.

wp_rest

В записи, озаглавленной как «Chicken and Egg» («Курица и яйцо»), Мулленвег коснулся недавнего обсуждения WP REST API, используя фрагмент из книги, рассказывающей про историю развития хип-хоп культуры в середине 90-х:

«Мне нравится подход Questlove (американский DJ) – он понимал, что если песне чего-то недостает, то нужно возвращаться в студию и дорабатывать трек до тех пор, пока он не найдет отклика у целевой аудитории. Песня, которая сама по себе не звучит, не станет лучше от того, что ее включат в альбом. Поклонники видят заботу, отмечают для себя высокое качество каждого трека, в результате чего становятся суперпоклонниками».

Мулленвег связал это с соображениями по поводу создания веб-продуктов:

«То же самое относится и ко всему, что мы производим. Где проходит линия между версией 1.0 и минимально жизнеспособным продуктом? Или нужно говорить о минимально привлекательном продукте? Мы проектируем автомобиль без кондиционера или автомобиль без колес?»

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

Мулленвег привел ту же самую аналогию с автомобилями во время встречи на прошлой неделе. В ответ на реплику комментатора, который попросил разъяснений по поводу того, как эта аналогия связана с REST API, Мулленвег указал следующее:

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

Это, однако, несколько отходит от предмета спора – как быть с «колесами» для API? Участники этой дискуссии разделились на два лагеря – одни считают, что существующие конечные точки готовы для слияния в ядро, другие не согласны с этим. Участники команды WP REST API, многие из которых уже успешно используют API в продакшне, полагают, что конечные точки полностью готовы. В своем текущем состоянии API позволяет получать контент из WordPress и передавать его обратно в WP, открывая возможности по простому взаимодействию с другими платформами, что для большинства является базовым вариантом использования API.

Мулленвег и другие присоединившиеся к прошлой дискуссии люди склонялись за поставку чего-то более завершенного. В их понимании REST API должен поддерживать абсолютно все, что имеется в wp-admin. Сюда относятся многочисленные возможности управления сайтом WordPress. На их реализацию понадобится очень много времени, что значительно затормозит слияние API с ядром.

В комментариях к новости Дрю Джеймс обрисовал свое видение той «золотой середины», которая позволила бы примирить оба лагеря. Он предложил восполнить недостающие части существующих конечных точек перед их слиянием (такие пункты, как защищенные паролем записи, автосохранения, превью записей, метаданные и т.д.).

«И я, и другие участники со встречи пришли к выводу, что можно найти золотую середину», отметил Дрю. «В чем она будет выражаться – в виде четырех отдельных конечных точек, четырех конечных точек с некоторыми улучшениями, конечных точек с некоторым охватом wp-admin – пока неизвестно».

В записи, озаглавленной как «Progressive Enhancement with the WordPress REST API» («Прогрессивное улучшение WordPress REST API»), Райан Маккью описал итерационный подход, который будет активно продвигаться в данный момент и затронет большее количество конечных точек в будущих релизах:

«Прогрессивное улучшение – наше ключевое решение нескольких связанных проблем: обратной совместимости с будущими релизами и версиями WordPress, а также эффективной обработки типов данных в WordPress. Прогрессивное улучшение позволяет продвинуть REST API. Благодаря этому нам не придется ждать, пока REST API будет иметь связь со всеми возможностями админки WordPress».

В записи Маккью также раскрываются детали касательно обнаружения возможностей – оно позволяет разработчикам легко выявлять поддержку возможностей и создавать их с учетом обратной совместимости, пока эти возможности еще не появились в ядре.

Дистрибуция – это решение?

Во время встречи на прошлой неделе Маккью отметил, что продолжение разработки проекта в виде функционального плагина принесет больше вреда, чем пользы. Если REST API так и не будет поставляться без покрытия всех возможностей wp-admin, команде придется продолжить развивать функциональный плагин, при этом устраняя сложные преграды в ядре WordPress. Учитывая, что над проектом работают только четыре основных участника, причем работают неполный рабочий день, это требование привело бы к тому, что WP REST API был бы приостановлен на неопределенное время.

«Мы считаем, что подход с прогрессивным улучшением – это лучший подход для продолжения разработки API», отметил Маккью. «Прогрессивное улучшение – это парадигма, которую должен принять проект REST API, если это – тот API, который мы планируем поддерживать в ближайшие 10 лет (не отказываясь от обратной совместимости)».

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

Чем шире становится использование WordPress, тем громче слышны его шаги. Итеративное улучшение REST API в ядре с дистрибуцией на миллионы сайтов может значительно повлиять на сеть. Как отмечают участники, «тяжела голова, что носит корону». Нововведение затронет также и другие платформы, которые будут использовать данный API.

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

Источник: wptavern.com

2 комментария

  1. Лично я считаю, что раз апи уже работает, то его можно включать в ядро, а потом добавлять новые опции. Вадь так и было уже — например с кастомайзером, там не изначально была возможность работать с виджетами и меню, если не ошибаюсь, их добавили позже. Передайте мой ответ Мулленвегу)))

    • Дмитрий says:

      Да, соглашусь. Но, увы, похоже на то, что Мэтт решил гнуть свою линию :)

Оставить комментарий

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