Привет! Если ты WordPress разработчик или планируешь создать крупный проект на WordPress в качестве основателя, то эта статья может сэкономить тебе огромное количество времени. В этой статье напишу несколько весомых причин, по которым я считаю, что WordPress не подходит для разработки сложных и высоконагруженных Интернет сервисов.
Я расскажу о своем опыте в запуске Интернет сервиса на базе WordPress. Расскажу о сложностях и о причинах, которые сподвигли отказаться от Вордпресс в пользу современного PHP-фреймворка.
Знаю, что многие Вордпресс специалисты могут испытывать желание оспорить мое субъективное мнение по поводу CMS WordPress. Однако, я считаю, что это желание исчезает в тот момент, когда типичный Вордпрессер начинает знакомиться с более современными инструментами для WEB-разработки.
Почему типичные Вордпресс разработчики начинают разработку сложных проектов на CMS WordPress?
Чтобы принять правильное решение в частном случае, необходимо в общем понять, почему разработчики начинают разработку сложных проектов на WordPress. Дело в том, что чаще всего это случается по той причине, что у разработчика отсутствует опыт разработки на базе более современных инструментов. К примеру, многие современные PHP-фреймворки по модели MVC лучше подходят для разработки сложных высоконагруженных проектов. В качестве примеров приведу кратий список: Laravel, YII 2, Zend.
Однако, PHP-фреймворк предполагает написание всего функционала с нуля. К тому же, чтобы вести действительно качественную разработку на базе фреймворка неободимо уделить значительное время на его изучение. И поскольку "вход" в разработку на фреймворках требует более высокой квалификации специалиста, то фреймворки не очень популярны среди разработчиков низкой квалификации. Поэтому обучающей информации о разработке на базе фреймворка значительно меньше, чем о разработке на WordPress.
Далее... Поскольку многие типичные Вордпресс разработчики входят в ИТ сферу именно с изучения WordPress, то на долгие годы это остается единственным инструментом для создания проектов. Таким разработчикам WordPress кажется вполне понятной системой, на которой теоретически можно разработать проект любой сложности. И когда появляется задача по созданию сложного проекта, то типичный Вордпрессер выбирает именно CMS WordPress.
Нужно признать, что я также пошел по этому сценарию и даже разработал первую версию сложного проекта на WordPress. И я считаю это своей ошибкой. Поэтому хочу помочь другим разработчикам сэкономить время и выйти на "верный путь" в разработке как можно скорее.
Почему WordPress не подходит для сложных проектов
Нужно понимать, что WordPress был разработан еще в 2003 году. Видимо, на тот момент MVC модель не была столь популярна, поэтому WordPress построен несколько по другой логике. Современные же PHP-фреймворки придерживаются именно MVC модели.
С того времени многое имзенилось в мире Веб-разработки, и WordPress не "успел" адаптироваться, поскольку придерживался своих персональных принципов разработки Интернет проектов. В итоге сейчас мы можем наблюдать, что WordPress значительно отличается от современных инструментов.
Следует заметить, что во многих моментах WordPress пытается быть современным и его логика очень схожа с современными инструментами. Однако реализация этой логики сильно хромает, поскольку система WordPress вынуждена тащить за собой ту кучу костылей, которые были созданы в далеких двухтысячных.
Подробно про все эти костыли писать не буду, поскольку это тема для отдельной статьи. В качестве ознакомления и понимания рекомендую прочесть эту статью: "Недостатки WordPress — техническая сторона" - автор достаточно подробно раскрыл этот вопрос.
Мой практичский опыт
Мой практичский опыт говорит о том, что для сложных и высоконагруженных проектов следует использовать PHP-фреймворки. Они более оптимизированы для проектов подобного уровня и уже включают подходящие инструменты для решения типичных задач в сложном проекте.
Если каких-либо инструменты отсутствуют по умолчанию, то документация фреймворка обязательно предложит какой либо инструмент для решения задачи. Преимущество фреймворка в том, что он не ограничивает разработчика в чем либо. Фреймворк позволяет решать любые задачи оптимальным способом. И самый важный момент в том, что современные фреймворки легко интегрируются с другими современными инструментами Веб-разработки.
Личная рекомендация разработчикам
Лично я рекомендую разработчикам начать изучать фреймворк Laravel. После ознакомления нескольких фреймворков, мой выбор пал именно на Laravel, поскольку Лара придерживается оптимальных, на мой взгляд, принципов веб-разработки.
К примеру, тот же YII мне не понравился своей плотной связанностью бэкенда и фронтенда.