Почему WordPress — №1 в стеке технологий для вашего следующего проекта (полная версия)

Рейтинг: 4.9 из 49 оценок

Если проект включает управление контентом, WordPress — №1 в стеке технологий.

Полная версия материала публикуется с разрешения Ольги Глеклер.

При решении задач от ведения блога, что 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 5.6 (декабрь 2020) отражает вклад разработчиков в движок WordPress и дает представление о сообществе в целом [16].

Для тех, кто хочет попробовать свои силы в разработке ядра, Сергей Бирюков, WordPress Core Committer и автор плагинов, работающий в командах Polyglots, Support и Meta и сооснователь российского сообщества WordPress, написал подробную инструкцию [17].

Если вы сомневаетесь, подходит ли WordPress для конкретного проекта, приходите на русскоязычный форум поддержки WordPress [18], занимающий почетное 2-е место по активности после англоязычного [19].

Ссылки

  1. Статистика использования систем управления контентом
  2. All-things about the WordPress Block Editor and Gutenberg plugin
  3. Ежегодные темы WordPress по умолчанию
  4. Как работают хуки в WordPress (фильтры и события)
  5. WordPress Coding Standards (на английском)
  6. @wordpress/element — уровень абстракции поверх React (на английском)
  7. На конференции WordCamp Europe 2020 Луис Эрранц рассказал об особенностях Headless/Decoupled CMS (на английском)
  8. Вопросы и ответа о Паролях приложений (на английском)
  9. Мухаммад Мухсин: Использование WordPress с GraphQL (на английском)
  10. Дорожная карта WordPress (на английском)
  11. Гутенберг, Редактор блоков и дорожная карта WordPress (на английском)
  12. Платформа Learn WordPress (на английском, другие языки в разработке)
  13. Make WordPress — глобальное сообщество волонтеров (на английском)
  14. Конференция WordCamp Europe с 7 по 10 июня 2021 (на английском, онлайн)
  15. Five for the Future (на английском)
  16. Статистика ядра WordPress 5.6: вклад по странам и компаниям (на английском)
  17. Как внести свой вклад в ядро WordPress (на русском)
  18. Форум поддержки WordPress
  19. Топ не англоязычных форумов WordPress.org по ответам (на английском)

Глеклер Ольга

Разработчик, представитель глобальной маркетинговой команды WordPress, амбассадор weDevs, соорганизатор конференции WordCamp Europe 2021.

Читайте далее

Добавить комментарий