BracketSpace, компания по разработке программного обеспечения, ориентированная на WordPress, выпустила Micropackage несколько недель назад. Проект представляет собой набор репозиториев с открытым исходным кодом с повторно используемым кодом для включения в плагины и темы WordPress. В настоящее время библиотека содержит 13 пакетов, включая оболочку файловой системы, систему шаблонов, средство создания блоков Advanced Custom Fields и многое другое.
Компания из Польши специализируется на аутсорсинге проектов и разработке плагинов. Некоторые из их наиболее популярных плагинов включают Advanced Cron Manager Pro и Notification , настраиваемый плагин уведомлений, в котором BracketSpace продает профессиональные расширения для различных услуг.
Проект Micropackage был продиктован потребностями команды и ее проектов. «Мы начали проект Micropackage, чтобы избавиться от собственного зуда», – сказал Якуб Микита, генеральный директор BracketSpace. «В течение последних нескольких лет активной разработки плагинов и веб-сайтов мы заметили, что соблюдение стандарта кода очень важно для удобства сопровождения». Команда BracketSpace копировала и вставляла код между проектами. В конце концов, команда задала себе неизбежный вопрос, который задает большинство команд разработчиков – почему бы не разбить весь этот код на небольшие пакеты и не хранить их в одном месте? Так родился проект Micropackage.
BracketSpace использует все пакеты во многих своих текущих плагинах и темах, потому что код изначально был взят из этих проектов. «Сейчас мы переписываем один из наших флагманских плагинов, Notification, используя микропакеты, и намерены создавать с их помощью каждый новый плагин и тему», – сказал Никита. «И поскольку они слабо связаны, может быть много вариантов конфигурации.
Управление пакетами и зависимостями – стандартная часть разработки в более широком мире разработки PHP. Использование пакетов становится все более и более стандартным, поскольку WordPress начал использовать современные инструменты JavaScript. Однако экосистема в основном не справляется с пакетами PHP. Хотя многие разработчики плагинов используют такие зависимости, такая практика встречается нечасто. WordPress также не имеет встроенного метода обработки зависимостей. Ситуация мешает таким проектам, как Micropackage, получить реальную поддержку в общем сообществе разработчиков WordPress.
Доступные пакеты
Проект включает 13 репозиториев, которые могут быть включены в плагины или темы WordPress через Composer. Большинство пакетов в настоящее время доступны на странице Micropackage в Packagist . Некоторые из пакетов по сути являются оболочками для различных API WordPress для более простого использования. Однако некоторые пакеты предлагают новые функции для разработчиков.
Никита сказал, что следующие пакеты являются наиболее важными для команды:
- DocHooks – репозиторий аннотаций комментариев PHP, который поддерживает фильтры, действия и шорткоды.
- Требования – Средство проверки требований для плагинов.
- Файловая система – Упрощенная оболочка API файловой системы WordPress.
- Шаблоны – базовое решение для создания шаблонов PHP, которое поддерживает передачу данных в шаблоны.
- Адаптивные встраивания – пакет JavaScript для автоматического создания адаптивных вложений.
Репозитории на этом не заканчиваются. Они создали другие оболочки для API WordPress, такие как кеширование, скрипты и интернационализация. В команде также есть создатель блоков для ACF, который позволяет разработчикам создавать блоки из шаблонов.
Для проекта BracketSpace запланировано еще как минимум пять пакетов. На данный момент пакеты предназначены в первую очередь для разработчиков WordPress. Тем не менее, Никита сказал, что команда по возможности будет также создавать платформенно-независимые репозитории. Таким образом, они будут полезны разработчикам за пределами экосистемы WordPress.