Статьи

Почему 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 по ответам (на английском)

Читать далее

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