Почему WordPress — №1 в стеке технологий для вашего следующего проекта (полная версия)
Если проект включает управление контентом, WordPress — №1 в стеке технологий.
-
WordPress от водителя до инженера-конструктора
- Сборка
- Кастомизация
-
Разработка
- + JavaScript, MySQL, система контроля версий (Git), система управления пакетами (NPM, Composer, Yarn и др.), системы сборки пакетов (Gulp, Webpack и др.), Bash, следование стандартам кодирования WordPress (Coding Standards) [5]
- + React и интерфейс WordPress для работы с ним [6]
- + Другие технологии, фреймворки и платформы
- Бонусный уровень
- Будущее WordPress
- Ссылки
- Глеклер Ольга
Полная версия материала публикуется с разрешения Ольги Глеклер.
При решении задач от ведения блога, что 18 лет назад было основной специализацией WordPress, до открытия мультивендорного маркетплейса и развертывания ERP-системы можно обойтись без единой строчки кода, что не избавляет от погружения в бизнес-процессы и непосредственного внедрения, но только понимающим архитектуру и API системы она открывает свои истинные возможности и красоту.
И нет, это не трансформер Девастатор, но именно богатый и продуманный API делает WordPress надежной основой для решения самого разнообразного спектра задач.
На сегодняшний день более 40% из 10 миллионов наиболее популярных сайтов работают на WordPress [1].
В репозитории WordPress.org больше 7400 тем и 50 тысяч плагинов с открытым исходным кодом, от простейших слайдеров до альтернативных встроенному в WordPress WYSIWYG редактору блоков, а также несколько мощных решений для электронной коммерции и разнообразные дополнения к ним.
WordPress от водителя до инженера-конструктора
WordPress позволяет быстро начать работу и проверить бизнес-идею или концепцию с минимальными временными и денежными затратами. Если это интернет-магазин, то помимо наполнения товарами, которые могут быть импортированы или синхронизированы с другой системой, большую часть времени займет решение через какой платежный агрегатор получать деньги и какую онлайн кассу подключить.
С ростом потребностей бизнеса или усложнением задач, внешний вид, функционал и подключения WordPress к сторонним приложениям могут изменяться и усложняться, без необходимости перехода на другую платформу, что снижает издержки на доработку и модернизацию.
После установки WordPress представляет готовую к работе панель управления, где контент делится на страницы и записи редактируемые в Редакторе блоков, вошедшим в ядро WordPress в декабре 2018 года на первом этапе проекта «Гутенберг» [2], комментарии и медиафайлы, а главная страница отображает последние новости в оформлении предустановленной по умолчанию темы, традиционно выпускаемой ежегодно последние 11 лет, сочетающей в себе минимализм и актуальные представления о дизайне и UX, что отчетливо видно, если посмотреть на эти темы в хронологическом порядке [3].
Все возможности WordPress открываются разработчикам через хуки (фильтры и события) [4].
В зависимости от потребностей проекта, разработка может вестись на различных уровнях сложности.
Сборка
Создание сайта, форума, интернет-магазина или платформы для других задач без единой строчки кода на основе готовых бесплатных и платных тем и плагинов, с настройкой параметров WordPress, темы и плагинов через визуальный интерфейс в панели управления.
Минимальный набор плагинов для большинства сайтов
- Плагин безопасности — защищает от подбора пароля, блокирует ботов и т.д., в платной версии доступна двухфакторная авторизация.
- SEO-плагин — для написания оптимизированных title, description, оценки качества контента, добавления данных по Schema.org, настройки sitemap.xml и др.
- Плагин для транслитерации URL и названий загружаемых файлов.
- Плагин для конвертации изображений в формат webp — значительно уменьшает размер растровых изображений и радует Google PageSpeed.
- Плагин для защиты от спама, если для страниц или записей включено комментирование.
- Плагин кэширования может быть эффективен или нет, в зависимости от динамики обновления контента и посещаемости.
Изменения CSS
Стилистические корректировки реализуются дополнительными инлайн стилями вносимыми в специальное поле кастомайзера (Панель управления > Внешний вид > Настроить > Дополнительные стили).
Кастомизация
+ HTML, PHP и API WordPress и плагинов
- Изменение готовой темы или расширение ее функционала за счет создания дочерней темы к бесплатной или премиум-теме. При таком подходе родительская тема сохраняет обновления, и со стороны разработчика дочерней темы требуется минимальная поддержка.
- Плагины, выводящие информацию на фронтенд имеют собственные шаблоны, которые помимо модернизации за счет хуков, могут заменяться шаблонами в папке родительской или дочерней темы, что позволяет вносить существенные изменения как в представление контента, так и в логику работы плагина в целом (изменения, затрагивающие логику, рекомендуется выносить в плагин). Пример плагина с собственными шаблонами и обширным API — WooCommerce, популярное решение для электронной торговли на базе WordPress.
Разработка
+ JavaScript, MySQL, система контроля версий (Git), система управления пакетами (NPM, Composer, Yarn и др.), системы сборки пакетов (Gulp, Webpack и др.), Bash, следование стандартам кодирования WordPress (Coding Standards) [5]
- Создание собственных тем с уникальным дизайном под цели конкретного проекта, для .org репозитория или для продажи через маркетплейсы.
- Создание плагинов, реализующих дополнительный функционал под конкретный проект, для .org репозитория или для продажи через маркетплейсы.
- Трансформация WordPress в приложение посредством PWA.
+ React и интерфейс WordPress для работы с ним [6]
- Разработка блоков и паттернов для Редактора блоков или другого функционала для фронтенда и бекенда.
- Разработка тем с полносайтовым редактированием (новое направление и перспективная ниша для разработчиков).
+ Другие технологии, фреймворки и платформы
- Интеграция WordPress со сторонними приложениями, настройка синхронизации и обмена данными.
- Подключение к WordPress собственного мобильного приложения.
- Использование WordPress как CMS и реализация фронтенда на фреймворке — Gatsby, Vue.js и других.
Интерфейс REST API, вошедший в ядро WordPress в 2016 году, помимо взаимодействия со сторонними приложениями, позволяет использовать WordPress исключительно как систему управления контентом. Такая технология носить название Headless или Decoupled CMS [7]. В версии WordPress 5.6 в 2020 году в ядро системы вошли «Пароли приложений» [8], дающие возможность приложениям авторизоваться с правами пользователя, и при этом не использовать основной пароль аккаунта.
Альтернатива REST API — GraphQL, доступный с плагином WPGraphQL [9].
Реализация проекта на WordPress ограничивается квалификацией разработчиков, потребностями и бюджетом клиента, и позволяет получить максимальную отдачу от вложений. Если проект можно четко описать, его можно реализовать на WordPress.
Бонусный уровень
WordPress — программное обеспечение с открытым исходным кодом, поддерживаемое волонтерами. Это значит, что каждый может принять участие в развитии системы, начиная от сообщения об ошибке, заканчивая предложением и непосредственной реализацией нового функционала.
Чтобы составить представление о количестве разработчиков, работавших над конкретным релизом WordPress, откройте вкладку «Участники» на странице «О WordPress» по логотипу в правом левом углу панели управления, а чтобы увидеть список использованных внешних библиотек — прокрутите эту страницу до низа. Также список участников сопровождает новости о релизах на сайте WordPress.org.
Будущее WordPress
В июле 2021 в ядро WordPress 5.8 войдёт возможность полносайтового редактирования (Full Site Editing) в соответствии со 2-й фазой проекта «Гутенберг» [10][11]. FSE открывает новые возможности, при этом привычные пользователям и разработчикам инструменты и совместимость с существующими темами и плагинами сохранится.
Подготовка к FSE включает активную работу над документацией, но параллельно большое внимание уделяется проекту «Learn» [12], представленному в декабре 2020, — многоязычной учебной платформе, предлагающей мастер-классы, викторины, курсы, планы уроков и группы для обсуждения, рассчитанные как на пользователей, так и на разработчиков WordPress.
Почему пользователи и разработчики поддерживают WordPress
Положительная обратная связь в действии — разработчикам нравится работать с WordPress и в какой-то момент возникает желание принять участие в его развитии. Помимо удовлетворения от закрытого тикета или патча, который вошел в ядро, это возможность попробовать свои силы, оценить уровень компетенции в сравнении с разработчиками из более чем 50 стран мира, и совершенствоваться в дружественной среде. Наблюдая, как простые на вид доработки ведут к глубоким дискуссиям, различным предложениям по реализации и внимательному тестированию, начинаешь понимать, что нет предела совершенству и перестаешь цепляться за иллюзию совершенства собственного кода.
Составить представление о работе сообщества можно посетив сайт Make WordPress [13].
Помимо профессионального развития, WordPress — это конференции и митапы, проводимые в разных уголках мира, вынужденно перешедшие год назад в онлайн и за это время сблизившие участников как никогда ранее. Конференция WordCamp Europe в Порту (Португалия), отложена 2-й год подряд, что не мешает сообществу готовиться к проведению WordCamp Europe онлайн с 7 по 10 июня 2021, обещающей стать крупнейшим мероприятием WordPress в этом году [14].
Компании-разработчики плагинов, крупные агентства и хостинговые компании, предоставляющие сервисы разработанные специально под WordPress — отладочный сайт (staging site) в один клик, контроль за работоспособностью сайта, управление автоматическими обновлениями и другие возможности избавляющие разработчиков от рутины, спонсируют не только мероприятия, но и разработчиков из разных стран, развивающих ядро WordPress и занимающихся другими направлениями в рамках концепции «Five for the Future» [15].
Для тех, кто хочет попробовать свои силы в разработке ядра, Сергей Бирюков, WordPress Core Committer и автор плагинов, работающий в командах Polyglots, Support и Meta и сооснователь российского сообщества WordPress, написал подробную инструкцию [17].
Если вы сомневаетесь, подходит ли WordPress для конкретного проекта, приходите на русскоязычный форум поддержки WordPress [18], занимающий почетное 2-е место по активности после англоязычного [19].
Ссылки
- Статистика использования систем управления контентом
- All-things about the WordPress Block Editor and Gutenberg plugin
- Ежегодные темы WordPress по умолчанию
- Как работают хуки в WordPress (фильтры и события)
- WordPress Coding Standards (на английском)
- @wordpress/element — уровень абстракции поверх React (на английском)
- На конференции WordCamp Europe 2020 Луис Эрранц рассказал об особенностях Headless/Decoupled CMS (на английском)
- Вопросы и ответа о Паролях приложений (на английском)
- Мухаммад Мухсин: Использование WordPress с GraphQL (на английском)
- Дорожная карта WordPress (на английском)
- Гутенберг, Редактор блоков и дорожная карта WordPress (на английском)
- Платформа Learn WordPress (на английском, другие языки в разработке)
- Make WordPress — глобальное сообщество волонтеров (на английском)
- Конференция WordCamp Europe с 7 по 10 июня 2021 (на английском, онлайн)
- Five for the Future (на английском)
- Статистика ядра WordPress 5.6: вклад по странам и компаниям (на английском)
- Как внести свой вклад в ядро WordPress (на русском)
- Форум поддержки WordPress
- Топ не англоязычных форумов WordPress.org по ответам (на английском)
Глеклер Ольга
Разработчик, представитель глобальной маркетинговой команды WordPress, амбассадор weDevs, соорганизатор конференции WordCamp Europe 2021.