Стартовая тема Underscores для WordPress в последнее время стала активно дорабатываться, была добавлена поддержка Sass и автоматическое тестирование с помощью Travis CI. Тема была форкнута более 1300 раз на GitHub, в результате чего появились многочисленные интересные вариации, созданные для поддержки разных фреймворков и особенностей тем.
Один из таких форков ставит своей целью показать разработчикам возможность добавления новых Javascript-особенностей к темам. _s_backbone – новая тема, основанная на Underscores, включающая в себя WordPress REST API клиент Backbone.js.
Тейлор Ловетт, директор по веб-разработке в 10up, создал тему в качестве прототипа; он надеется, что она превратится в полезный инструмент для разработчиков тем, которые хотят вести работу с WP REST API. Как уже было отмечено, API предположительно будет добавлен в версии WordPress 4.1.
Преимущества использования Backbone для бесконечной прокрутки
В чем состоят отличия _s_backbone от чистой Underscores? Основное отличие здесь заключается в том, что циклы имеют встроенную бесконечную прокрутку, которая реализована с помощью кнопки More – возможность, основанная на клиенте Backbone, который получает записи на лету без перезагрузки страницы. Это несет в себе несколько преимуществ. «В современной сети люди ожидают получить реактивные, динамические веб-приложения. Я думаю, что любой согласится – сеть все больше сдвигается в сторону JavaScript», отметил Ловетт. «Расширение ваших циклов с помощью Backbone-клиента JSON REST API – самый простой способ добавить и настроить бесконечную прокрутку на своем сайте».
Добавление бесконечной прокрутки к теме, используя другие методы, может показаться слишком запутанным и сложным действием. «Есть несколько преимуществ от создания бесконечной прокрутки с помощью JSON REST API», говорит Ловетт. «JSON REST API будет объединен с WordPress, поэтому ваш код всегда будет оставаться обратно совместимым. Воспользовавшись JSON REST API и клиентом Backbone, вам больше не понадобится создавать ваши собственные конечные точки, которые съедают много времени».
Я спросил Ловетта, в чем состоят отличия реализации бесконечной прокрутки в _s_backbone от реализации в модуле Jetpack. Эта возможность функционирует лучше, когда она является частью темы, а не плагина?
«Я активно работал с модулем Infinite Scroll от Jetpack. Фактически, _s_backbone взяла часть кода из этого модуля», отметил Ловетт. «Я думаю, что всегда можно найти весомые аргументы на включение бесконечной прокрутки как в плагин, так и в тему. Однако, как мне кажется, с появлением JSON REST API и клиента Backbone лучше всего добавлять бесконечную прокрутку в тему, ибо это более осмысленный шаг».
Несмотря на то что основной притягивающий аспект темы в данный момент – это новый способ реализации бесконечной прокрутки, Ловетт надеется, что _s_backbone станет стартовой точкой для разработчиков по созданию своих собственных особенностей на базе Backbone.
«_s_backbone – это стартовая тема, она не является родительской темой. Решения принимает сам разработчик темы. Если он хочет, он может убрать бесконечную прокрутку совсем или вынести ее в отдельный плагин. Основная цель темы – предоставить разработчику хорошую базу, с которой он может начать создание своей темы»
В будущем Ловетт планирует добавить поддержку форматов записей к теме; в данный момент такая возможность отсутствует. «Я надеюсь получить некоторую обратную связь по поводу стартовой темы, чтобы понять, что лучше всего внедрить для разработчиков».
WP REST API открывает новые горизонты для разработчиков плагинов и тем
Ловетт в эти выходные будет выступать на WordCamp Boston. Тема его выступления — WP JSON REST API. Он надеется в качестве примера использовать тему _s_backbone. Его самый значительный вклад в проект WP REST API состоял в создании клиента Backbone.js. Он также внес свой вклад и в PHP-часть, а именно в конечные точки комментариев, ревизий и метаданных записей.
«Я очень впечатлен добавлением JSON REST API в бэкэнд», отметил Тейлор. «Я надеюсь, что JSON REST API окажется невероятно полезным, в частности для мультисайтов. Я написал много конечных точек, позволяющих получить различные типы записей, чтобы реализовать разные возможности бэкэнда, которые могут быть существенно упрощены с помощью JSON REST API. Также я думаю, что это значительно упростит код, который используется в медиа-библиотеке».
Ловетт надеется показать разработчикам все возможности использования API на конференции WordCamp Boston. «Прежде всего, я хочу показать людям, почему API так полезен, и как вы можете его использовать», отметил он. «Я хочу вдохновить разработчиков плагинов и тем на создание удивительных вещей с помощью API. Я верю, что REST API откроет множество дверей в WordPress. Я хочу показать людям, как именно можно получать данные с других сайтов, использующих API, вместо того чтобы парсить фиды».
Если вы знакомы с Underscores, то в таком случае новая тема _s_backbone станет для вас великолепной стартовой точкой для изучения того, как применять API в теме. Не стесняйтесь оставлять свои замечания по проекту – обязательно укажите дополнительные особенности, реализацию которых вы хотели бы видеть. Если вы хотите внести свой вклад в проект WP API, в клиент Backbone.js или во что-то еще, Ловетт всегда готов обсудить это с вами. Его команда всегда рада получить дополнительную помощь.
Источник: wptavern.com