Вордпресс как препятствие

Второй раз в этом году довелось фрилансом столкнуться с проектом, ядром которого является вордпресс, который становися главным препятствием для развития проекта. Как исполнитель второй же раз в итоге отказался.

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

В обоих случаях за основу брался вордпресс. Почему? Возможно, из-за простоты создания живого пользовательского интерфейса. Возможно, из-за желания сделать и предъявить прототип (возможно, для финансирования). Также вероятно отсутствие в начале квалификации для построения ядра проекта другими средствами.

Потом, естественно, функционала вордпресса быстро стало не хватать, поскольку требовались и сложные интерфейсы и сложный функционал, проекты стали обрастать самописным кодом, в одном случае приделанным сбоку на Yii, взаимодействующим с вордпрессом через собственное API, во втором — прямо в теме, через шаблоны и functions.php, разросшемся до многих тысяч строк кода. Полноценно отслеживать всю эту структуру, похожую на большой моток колючей проволоки, при отсутствии ООП, при отсутствии раздельного MVC, при большом количестве взаимосвязей, раскиданных по всему коду, может лишь один человек — автор. Разбираться во всем этом стороннему разработчику — занятие неблагодарное.

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

Что же делать? Мой рецепт — полностью переписывать. Вычленить в базе и коде логическое ядро, самое необходимое. Продумать, не стоит ли вообще поменять базу. Дальше — переписать все на любом современном MVC-фреймворке. Я бы предпочел Phalcon, но можно и на любом другом. Вордпресс выкинуть.

Препятствием для реализации такого рецепта обычно становится то, что в проект уже вложены немалые силы и деньги, как минимум несколько сот тысяч, а то и больше. Жалко все это выкидывать в мусор. Но по мне, это единственный выход. Если держаться за существующую концепцию, за следующие полгода в поддержку и развитие такого проекта в нынешнем виде будет вложено больше, чем обошлось бы полное переписывание. Дальше все пойдет только в минус.

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

Пожалуй, это можно обозначить как «антипаттерн Вордпресс» . Уместно привести цитату: «Как только он начинает разрастаться, остановить его уже невозможно. В конечном итоге погибает целый проект. Целый программный продукт становится неремонтопригодным и должен быть переписан.». И главное: «Чем раньше вы диагностируете проблему, тем проще ее вылечить.».

Котам Вордпресс не мешает:
Изображение болванка

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

Ваш e-mail не будет опубликован. Обязательные поля помечены *