Код
#статьи

Drupal для Илона Маска: кто и как использует старейшую CMS

Поговорили с веб-разработчиком о перспективах Drupal и его месте в современном IT.

Иллюстрация: Kathy Hutchins / Shutterstock / Colowgee для Skillbox Media

Евгений Ильин

Разработчик на РНР, Drupal, основатель нижегородской веб-студии WEBSHOP. Специализируется на продвижении и разработке сайтов в среднем и высоком сегменте.

Что такое Drupal

— Расскажи, как пришёл в IT, познакомился с РНР, а затем и с Drupal?

— Сфера IT ещё со школы была для меня интересной, и уже во время учёбы я понимал, что буду поступать на факультет информационных технологий: всегда хотел познакомиться с этой сферой, понять изнутри, как и что работает. РНР изучал в свободное от учёбы время.

После университета пошёл работать по специальности в банк, проработал там меньше года. Помимо этого, приходили заявки от знакомых на разработку сайтов. Так я познакомился с Drupal, ещё с шестой версией. Заказов становилось всё больше, и я решил создать WEBSHOP, чтобы заниматься сайтами уже на профессиональном уровне.

— Давай перейдём к нашему герою, к Drupal. Что это — CMS, CRM, фреймворк?

— Всё-таки это CMS, потому что с его помощью можно создавать контент и управлять им. Однако под капотом у этой CMS — фреймворк Symfony. Сама система разработана на РНР, что позволяет поддерживать различные базы данных. Также стоит отметить, что система свободная, с открытым лицензионным соглашением.

Вообще, Drupal очень гибкий, в нём существует куча всяких сущностей: таксономия, ноды, параграфы… Это всё можно расширять и использовать как угодно.

Какое место занимает Drupal в мире IT

— Давай сначала попробуем сравнить Drupal с классическими CMS, а потом с фреймворками и языками программирования. Чем он лучше или хуже, в каких кейсах лучше применяется?

— Начнём с того, что Drupal поддерживает Headless, позволяющую разделить бэкенд и фронтенд.

Headless — CMS, отвечающая только за универсальное содержимое, которое можно использовать на любых платформах. Бэкенд («тело»), согласно этой системе управления, не связан с фронтендом («головой»), то есть к «телу» можно приставлять разные «головы» — например, использовать один и тот же бэкенд для управления как сайтом, так и мобильным приложением или автоматизировать раздачу контента по всем доступным площадкам и устройствам. Это позволяет минимизировать ресурсы, затрачиваемые на веб-разработку.

То есть можно использовать для фронтенда современные фреймворки типа React, Vue.js, а бэкенд сделать на Drupal, после чего можно будет добавлять информацию в админку, а фронтенд уже будет забирать её из базы CMS. Сейчас это главная фишка Drupal — я не помню, чтобы в каких-то других CMS это было реализовано прямо в ядре, без необходимости что-то дополнительно писать.

Вторая киллер-фича — возможность разделить разработку на dev и production: спокойно разрабатывать локально, пушить в Git, видеть изменения, тестировать, а уже потом выкладывать всё на боевой сайт. Можно также разделить работу фронтендера и бэкендера и объединять всё в Git.

— Кто сейчас основные конкуренты Drupal?

— Есть конкуренты по целевой аудитории и по стилю разработки. В России самая большая клиентская база у CMS «Битрикс»: некоторые заказчики хотят только его, потому что система коммерческая, у всех на слуху.

Но клиенты не всегда знают о трудностях, с которыми могут столкнуться: сложной админкой, непонятным взаимодействием или необходимостью покупать дополнительные решения. Из-за этого приходится объяснять, показывать, что может Drupal, как он устроен, что в нём можно делать, — и тогда многие выбирают его.

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

Сделать Drupal великим опять

— По моим ощущениям, годами расцвета Drupal были 2007–2012 годы, а потом о нём как будто забыли. Это на самом деле так?

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

Потом всё немного затихло, потому что разработка восьмой версии затянулась. Создатели искали новые способы финансирования и остановились на том, что Drupal будет использоваться вместе с фреймворком Symfony. После этого CMS снова стала активно развиваться. Порог входа в новую версию сильно вырос, потому что для работы в ней надо хоть немного знать РНР, нельзя просто что-нибудь накликать мышкой.

— Не сталкивался ли ты с каким-то презрительным или высокомерным отношением со стороны коллег по цеху? Мол, что за пещерный человек — в 2022 году собирает что-то на Drupal, хотя давно пора перейти на чистые фреймворки или «ванильный» JavaScript.

Такого не слышал, потому что в Drupal используются современные технологии. Старые библиотеки удаляются. Сейчас, например, идёт активное удаление jQuery из всех модулей и плагинов, система переходит на чистый JavaScript или что-то подобное. Раньше была проблема с jQuery, особенно когда были конфликты с разными версиями: когда в админке одна версия, а на сайте другая, начинались танцы с бубнами.

— Ты мог бы проследить эволюцию движка от первых версий до нынешней: что менялось, что улучшилось, что стало хуже, по чему осталась ностальгия?

— Если говорить о личных воспоминаниях — можно вспомнить переход с шестой версии на седьмую и массу комментов, что делать это ещё рано. Вообще, каждый раз, когда выходит новая версия, все, кто занимается разработкой на Drupal, пишут: «Не надо её ставить, она ещё сырая, давайте немного подождём». Я считаю, что это не совсем правильный подход. Надо всегда использовать новые версии сразу, а если есть какие-то проблемы, их надо решать, создавать тикеты в модулях или в ядре, чтобы сообщество тоже их видело.

Есть некоторая ностальгия по «семёрке», потому что это, по сути, улучшенная шестая версия Drupal, на ней написано много сайтов. Но мы идём в ногу со временем, надо использовать новые технологии.

Сейчас основная версия — девятая. Это также улучшенная версия восьмой, где уже вырезаны всякие старые методы, которые не используются, и полностью добавлена поддержка РНР 8 и всех современных технологий.

Какие компании и как используют Drupal

— Какие современные известные сайты, медиапроекты, IT-проекты используют Drupal?

— Drupal активно пользуются Tesla, газета «Известия». Сайт армии России — это наш проект. «Сбер» применяет в каких-то внутренних проектах — мы часто видим их вакансии для специалистов по Drupal. Иногда сложно заметить, что где-то есть Drupal, потому что сейчас разделяют фронтенд и бэкенд, и по фронту не всегда понятно, что за этим сайтом стоит.

— Давай рассмотрим некий сферический проект в вакууме, с которым к вам пришёл условный клиент. Как он пошагово реализуется на Drupal: что делают дизайнеры, фронтендеры, бэкендеры, кто работает, как создаётся итоговое решение?

— Всё начинается с анализа: с клиентом работает маркетолог, который выясняет, что требуется сделать, чтобы впоследствии с сайтом было удобно работать, формирует техзадание и передаёт его дизайнеру. Если проект сложный, дизайнер разрабатывает прототипы, а если простой — создаёт готовое решение и утверждает его с клиентом. Потом всё передаётся на вёрстку, а затем переносится на разработку, где доделывается под конкретные задачи клиента.

И здесь становятся очевидны преимущества Drupal: если на том же Symfony без Drupal надо всё писать вручную, то на Drupal часть процессов можно накликать мышкой, вывести какие-нибудь страницы, например, через Views. Это сильно упрощает и ускоряет решение задачи. Иногда проджект-менеджер может накликать какую-то страницу в админке сам, даже без участия разработчика, чтобы пользователю было удобно выводить или редактировать тот или иной материал.

Сколько зарабатывает Drupal-разработчик и что он должен уметь

— Сколько человек обычно вовлечено в разработку и сколько времени занимает проект?

— Один-два дизайнера, один-два верстальщика и один-два разработчика — итого от трёх до шести человек на проект в зависимости от сложности. Сроки — от месяца до полугода и даже больше.

— Насколько проблематично найти людей, которые будут этот сайт поддерживать?

Найти специалистов несложно: можно зайти на «Рейтинг Рунета» и отсортировать компании, которые занимаются Drupal. Если нужно найти фрилансера, можно создать запрос на Drupal.org или Drupal.ru. Уверен: найдётся куча людей, которые готовы помочь с той или иной проблемой, написать сайт, разработать новые модули и страницы.

— Какими скиллами должен обладать Drupal-разработчик и сколько он может зарабатывать?

— Обязательно нужно знать РНР и понимать основные процессы: как строятся сайты, из чего они состоят и так далее. Заработок зависит от региона и степени вовлечённости в процесс самого разработчика. Например, за разработку какой-нибудь платёжной системы для интернет-магазина можно спокойно выставлять цену в 20 тысяч. А в целом оплата примерно такая же, как у обычного РНР-программиста.

— Верстальщик должен быть погружён в Drupal или ему это совсем не нужно, он своими фронтендерскими делами занимается?

Небольшая погружённость всё-таки требуется: для этого создаются чек-листы, инструкции: например, о том, какие в ядре Drupal использовать классы, чтобы проект собирался быстрее. Можно вкатиться в Drupal за пару месяцев — при условии, конечно, что человек знает CSS, JavaScript и другие близкие технологии.

Есть блоги, которые пишут именно про Drupal, есть чат русскоязычного сообщества в Telegram, в котором становится всё больше и больше людей, можно туда заходить. Также есть чат для новичков, там можно задавать самые первые вопросы, которые могут возникнуть, там легко вам помогут, ответят, потом вы уже сами будете отвечать кому-то, зарабатывать карму.

Изучайте IT на практике — бесплатно

Курсы за 2990 0 р.

Я не знаю, с чего начать
Научитесь: Профессия PHP-разработчик с нуля до PRO Узнать больше
Понравилась статья?
Да

Пользуясь нашим сайтом, вы соглашаетесь с тем, что мы используем cookies 🍪

Ссылка скопирована