Фреймворки WordPress обретают новый уютный дом — IncludeWP

Опубликовано: 2016-07-27

Ранее в этом году (март 2016 г.) группа проверки плагинов опубликовала на make.wordpress.org заявление о том, что фреймворки больше не разрешены в официальном репозитории плагинов.

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

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

Мы получили отличные отзывы и несколько предложений по пользовательскому интерфейсу, но больше всего мое внимание привлек один комментарий: Лука Фракасси из Addendio сказал: «Вова, было бы супер-круто, если бы я мог нажать на фреймворк и посмотреть, какие плагины и темы на самом деле его используют. ».

«Черт возьми! Это было бы потрясающе». Я подумал про себя. Но мы никоим образом не тратим время на ручной поиск и добавление этих плагинов и тем.

Репозиторий IncludeWP начинался как забавный и освежающий побочный проект выходного дня для команды Freemius.Tweet

Пообщавшись с Лукой, мы поняли, что можем использовать API-интерфейсы WordPress.org и SVN для автоматической идентификации связи плагинов и тем с фреймворками на WordPress.org. Поэтому мы решили объединить усилия.

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

Фреймворк CMB2

Плагины и темы на WordPress.org, использующие CMB2

Нам потребовалась еще неделя, чтобы завершить его, но теперь он в 10 раз мощнее! Разработчики могут видеть, какие другие продукты используют фреймворк. И в духе открытого исходного кода он доступен для публичного использования на GitHub.

Чем хороши фреймворки, SDK и библиотеки WordPress?

Повторное использование кода — это круто! На самом деле это часть основ развития. Так просто, как, что. Взгляните на WooCommerce, самую популярную онлайн-платформу электронной коммерции, которая начиналась как форк Jigoshop.

Как разработчики, мы пытаемся оптимизировать собственный код и убедиться, что в нем нет избыточности. Но когда дело доходит до работы других разработчиков, мы вдруг оказываемся очень разборчивы.

Будучи разработчиком, я знаю, о чем вы думаете…

«Никто не может писать код так, как я». Новость: есть много одаренных разработчиков, так что перестаньте быть снобом и начните повторное использование!

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

«Я могу построить это сам, мне не нужен никакой каркас» — Да, вы можете! Но почему? Зачем вам изобретать велосипед? я понял; есть кривая обучения, когда это не ваш код. Но с другой стороны, изучить фреймворк с солидной документацией, безусловно, будет быстрее, чем разрабатывать все самостоятельно, с нуля.

«Зачем мне накладные расходы? Я использую только небольшое подмножество того, что обрабатывает библиотека. Хак, фреймворк такой раздутый, он больше моего плагина!» – Большинство плагинов начинаются с крошечной функциональности. Возможно, сегодня это все, что вам нужно, но по мере развития вашего плагина или темы WordPress вы, вероятно, будете добавлять больше вещей. Наличие прочного фундамента облегчит вашу жизнь и сэкономит вам много времени в будущем. Попробуйте планировать на долгосрочную перспективу и выберите фреймворк, который лучше всего соответствует вашим потребностям и дорожной карте.

Итог — перестаньте тратить время на переписывание одних и тех же вещей снова и снова. Существует около 20 различных фреймворков, которые обрабатывают настраиваемые поля.

Почему мы решили сделать проект открытым?

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

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

Повторно используя этот код, каждый может легко создать мини-сайт со списком похожих категорий для репозиториев GitHub.

Ловушка фреймворка WordPress — управление версиями

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

Так что прислушайтесь к моему дружескому совету: прежде чем выбрать любимый фреймворк, библиотеку или SDK, убедитесь, что они поддерживают управление версиями.

Вы должны убедиться, что выбранный вами фреймворк поддерживает управление версиями.

Как выбрать правильные фреймворки для вашего плагина или темы

Смотря как.

Если бы я запускал новый плагин или тему WordPress, я бы посмотрел на следующее (не обязательно в этом порядке):

  • Я бы сначала проверил, что есть на рынке, чтобы понять различный набор функций и функций, предлагаемых фреймворками.
  • Я бы обязательно изучил популярность проектов. За более популярными проектами, вероятно, стоит более сильное сообщество, а это значит, что получить помощь/совет должно быть проще. Это также, вероятно, означает, что основные ошибки фреймворка уже исправлены.
  • Я бы потратил больше времени на изучение новых фреймворков. По мере развития практики веб-разработки. Кроме того, ядро ​​WordPress развивается, новые фреймворки могут быть более эффективными, использовать новые основные механизмы — делать больше с меньшим количеством кода.
  • Я бы спросил своих друзей-разработчиков из сообщества WordPress — людей, которым я доверяю и которые могут предоставить мне искренние отзывы, основанные на их опыте.

У меня есть рамки! как я могу добавить его в IncludeWP?

Очень просто! Веб-сайт представляет собой проект с открытым исходным кодом на GitHub, просто разветвите репозиторий IncludeWP, добавьте свой фреймворк как <имя>.php в папку src/frameworks и отправьте запрос на извлечение.

Обязательно соблюдайте несколько простых рекомендаций:

  • GPL: Платформа должна быть лицензирована как GPL, поэтому плагины и темы, которые ее используют, могут быть перечислены на WordPress.org (фреймворк не-GPL делает плагин не-GPL).
  • GitHub: у фреймворка должен быть общедоступный репозиторий на GitHub, на который мы можем ссылаться и получать статистику.
  • Придерживайтесь формата: заполните те же поля, что и в других фреймворках в src/frameworks.
  • WordPress.org (необязательно): если фреймворк уже указан как плагин на WordPress.org, добавьте ссылку на ярлык плагина.
  • Краткое описание. Сделайте описание для обзорной страницы коротким и понятным.

Так что же дальше?

Поделитесь проектом IncludeWP

Теперь ваша очередь рассказать об этом сообществу. Расскажите друзьям, поделитесь в Твиттере, пометьте проект на GitHub… и используйте повторно!