Есть движки, с которыми я могу работать.
А есть движки, с которыми мне хочется работать.
Это, как оказалось, вообще не одно и то же.
С OpenCart у меня именно такая история. Примерно так же с Bitrix и Joomla.
Я не буду рассказывать, что они плохие, устаревшие или что на них нельзя делать нормальные проекты. Можно. И делают.
Но каждый раз, когда я открываю чужой проект на OpenCart, у меня довольно быстро появляется одна мысль:
«Господи, а почему здесь всё опять не так, как я привык?»
Да, звучит субъективно.
Потому что это и есть субъективно.
А ведь моя первая CMS была вообще не WordPress
Начинал я с DLE — DataLife Engine.
И свой первый настоящий заказ я сделал именно на ней.
Это был сайт вопросов и ответов.
Сейчас я вспоминаю тот проект с улыбкой, потому что сегодня подобную вещь можно собрать довольно быстро.
А тогда каждая нестандартная мелочь превращалась почти в исследовательскую работу.
DLE была довольно закрытой CMS.
Это сейчас можно открыть документацию, GitHub, спросить у ИИ, посмотреть исходники пакета и за вечер разобраться почти в любой незнакомой системе.
Тогда было немного иначе.
Форумы.
Обрывки кода.
Старые темы.
Чужие примеры.
И огромное количество экспериментов.
Помню одну задачу до сих пор.
Мне нужно было вывести фотографию пользователя возле опубликованного им вопроса.
Звучит смешно.
Обычный аватар.
Но я тогда по крупицам собирал информацию, искал нужные переменные, разбирался в шаблонах DLE и пытался понять, как всё это вообще связано.
Сколько я тогда с этим провозился, уже не вспомню.
Зато прекрасно помню момент, когда фотография наконец появилась там, где должна была.
Вот это была радость.
Настоящая.
Не «закрыл задачу в Jira».
А именно:
«Я, блин, это сделал!»
Наверное, такие моменты и затягивают в разработку.
Потом DLE заставила меня ещё немного пострадать
После первого проекта были другие.
На DLE я делал в том числе сайт для института.
И постепенно уже начал чувствовать себя в системе увереннее.
Но всё равно многие вещи там делались в стиле:
сначала найти хоть какую-то информацию
потом проверить, подходит ли она твоей версии
потом понять, почему у автора на форуме работает, а у тебя нет
потом сломать шаблон
вернуть назад
и наконец сделать как нужно.
Весёлое было время.
Но в какой-то момент я начал переводить клиентов на WordPress.
И вот тогда всё начало меняться.
WordPress просто стал привычным
Сначала WordPress был для меня очередной CMS.
Потом основной CMS.
А потом я вообще перестал воспринимать его как CMS.
Когда работаешь с одной системой много лет, ты уже не думаешь:
«Так, где здесь поменять это?»
Ты примерно сразу понимаешь, куда идти.
Нужен фильтр — знаешь где искать.
Нужен hook — понятно.
Нужен свой endpoint — сделал.
Нужна нестандартная логика WooCommerce — написал.
Нужен отдельный плагин — без проблем.
ACF, Carbon Fields, REST API, cron, WP-CLI, кастомные таблицы, интеграции.
В какой-то момент WordPress для тебя превращается просто в знакомую среду разработки.
И вот после этого начинается самое интересное.
Открываю OpenCart — и начинаю злиться
Особенно меня всегда напрягала его модульная система.
Понимаю, зачем она существует.
Понимаю логику.
Понимаю, что разработчик, который десять лет сидит в OpenCart, летает там быстрее меня.
Но мне от этого не легче.
После WordPress постоянно возникает ощущение, что для изменения одной мелочи я сначала должен провести небольшое расследование.
Где лежит логика?
Какой модуль это выводит?
Что её переопределяет?
Что установлено поверх?
Почему это работает именно так?
И где находится тот самый файл, который я уже минут двадцать ищу?
В WordPress у меня мозг давно заточен под другую модель.
Поэтому OpenCart иногда воспринимается не как сложная CMS, а просто как чужая квартира.
Вроде всё есть.
Но чайник стоит не там.
Выключатель не там.
И ночью обязательно ударишься ногой о какой-нибудь модуль.
С Bitrix ещё интереснее
Bitrix вообще отдельный мир.
Своя терминология.
Свои компоненты.
Свои подходы.
Своя философия.
И огромное количество разработчиков, которые прекрасно в нём работают.
Но мне там тесно.
Это субъективное ощущение, но оно у меня не меняется много лет.
Иногда хочется решить задачу простым небольшим куском кода.
А Bitrix как будто смотрит на тебя и говорит:
«Нет. Сначала ты должен понять, как здесь принято».
А я не хочу.
Я хочу задачу решить.
Наверное, именно поэтому я никогда не стал настоящим Bitrix-разработчиком.
Joomla прошла примерно мимо
С Joomla я тоже сталкивался.
Разбирался.
Что-то правил.
Что-то дорабатывал.
Но любви не случилось.
И я почти уверен, что причина здесь не техническая.
Просто я уже успел привыкнуть к WordPress.
Если бы после DLE я лет пятнадцать работал только с Joomla, возможно, сейчас сидел бы и рассказывал, какой ужасный WordPress.
Потому что разработчики часто защищают не «лучшую технологию».
Они защищают то, в чём им удобно работать.
И я здесь ничем не лучше.
А потом пришёл Composer
Вот это уже реально поменяло моё отношение к PHP.
Потому что когда начинаешь нормально работать с Composer, зависимостями, пакетами и современной структурой проекта, ты постепенно перестаёшь воспринимать CMS как центр вселенной.
CMS становится просто одним из инструментов.
Нужен WordPress — берём WordPress.
Нужен WooCommerce — отлично.
Нужна кастомная система — Laravel.
Нужен отдельный сервис — вообще можно сделать без CMS.
И Laravel мне в этом плане очень нравится.
Хотя Laravel я всё равно превращаю в WordPress
Вот здесь самая забавная часть.
Когда я делаю проект на Laravel и нужно создать админку, угадайте, на что она в итоге начинает быть похожа?
Правильно.
На WordPress.
Не внешне.
Я не копирую дизайн wp-admin.
Но логика получается очень знакомой.
Слева меню.
Разделы.
Записи.
Добавить.
Редактировать.
Статусы.
Медиа.
Настройки.
Нормальные понятные поля.
Чтобы человек зашёл и без отдельного курса понял, что здесь делать.
Иногда смотрю на готовую админку и думаю:
«Ну молодец. Ушёл от WordPress и снова сделал WordPress».
Поэтому я не люблю вопрос «какая CMS лучше»
Он почти всегда бессмысленный.
Что лучше?
OpenCart или WordPress?
Bitrix или Laravel?
Joomla или WooCommerce?
Да откуда я знаю без задачи?
Для одного интернет-магазина WordPress + WooCommerce будет отличным решением.
Для другого проект лучше сразу писать на Laravel.
Где-то OpenCart действительно закроет всё необходимое.
У компании может быть вся инфраструктура на Bitrix, свои разработчики и готовые интеграции.
И прийти туда со словами «давайте всё перенесём, потому что мне WordPress нравится больше» — это уже не разработка, а вредительство.
Технологию нужно выбирать под задачу.
Но личные предпочтения никто не отменял.
Я просто привык к WordPress
Вот и весь секрет.
Не потому что это идеальная CMS.
В WordPress тоже хватает вещей, которые могут довести до белого каления.
Особенно когда открываешь проект, где установлено 57 плагинов, половина написана неизвестно кем, а другая половина уже пять лет не обновлялась.
Но я знаю эту систему.
Знаю её слабые места.
Знаю, где можно сделать красиво.
Знаю, где лучше не трогать.
Знаю, когда плагин действительно нужен, а когда проще написать 50 строк своего кода.
И поэтому, открывая очередной OpenCart, Bitrix или Joomla, я иногда ворчу.
Не потому что они обязательно хуже.
Просто это не мой дом.
А WordPress за много лет стал именно таким инструментом, о котором почти не думаешь во время работы.
Ты просто берёшь его и делаешь.
И иногда я вспоминаю тот самый первый сайт на DLE.
Как искал способ вывести аватар пользователя рядом с вопросом.
Как ничего не получалось.
Как потом получилось.
И сколько было радости.
Сейчас задачи стали сложнее в сотни раз.
API, автоматизация, WooCommerce, Cloudflare, внешние сервисы, собственные backend-системы.
А ощущение от хорошо решённой задачи осталось примерно тем же.
Наверное, поэтому я до сих пор этим и занимаюсь.
Обсуждение
Вопросы и комментарии
Можно уточнить детали статьи или поделиться своим опытом. Первый комментарий проходит проверку.