Как стать автором
Обновить

Готовый движок сайта или самописный?

Добрый день, ХабраХабр!

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

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



Преимущества готового движка:



1) Стоимость разработки и поддержки.

Даже для дорогих коммерческих продуктов, стоимость приобретения готового движка может быть существенно ниже, чем стоимость разработки с нуля.

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

2) Гибкость и универсальность.

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

В случае собственных разработок, переносимость кода между проектами конечно тоже возможна, но это часто сопряжено с существенно большими затратами труда и времени.

3) Наличие готовых плагинов — сокращают расходы при реализации дополнительного функционала.

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

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

4) Наличие готовых шаблонов — позволяет быстро делать недорогие проекты, когда заказчик не готов платить за эксклюзив.

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

Если же заказчик готов платить за уникальный дизайн, то можно реализовать его и для готового движка, качественные современные «коробочные» продукты практически не ограничивают творческий потенциал дизайнера.

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

5) Возможность легко привлекать сторонних специалистов для разработки и поддержки

В случае использования популярного движка, уже существует масса специалистов с ним работающих.
Это дает следующие перспективы для роста:
  • в случае если вам поступает проектов больше чем вы можете сделать сами, вы можете перекинуть часть из них на своих коллег, получив свой процент дохода;
  • можете найти недорого специалиста на поддержку сайтов (наполнение содержимым, мелкие легкие правки и тому подобные не сложные задачи), а сами сконцентрироваться на более сложных, интересных и прибыльных задачах;
  • при желании сформировать команду, проще найти компетентных коллег.


Не забывайте, что для работы стороннего человека с вашим самописным движком, у него должен быть очень весомый стимул (скорей всего финансовый) для его изучения, ведь полученные знания и опыт мало применимы при работе над другими проектами.

6) Большая лояльность заказчиков

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

В чем преимущества самописного движка?



1) Самообучение

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

2) Привязка клиента к себе

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

3) Максимальная заточеность под данный проект

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

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

ВЫВОДЫ:


  • Готовые «коробочные» движки выгодны и удобны на типовых проектах, позволяют ставить разработку на поток, сокращая и время и стоимость разработки, а также, позволяя меньшими усилиями наращивать команду разработчиков, привлекая специалистов, уже имеющих опыт работы с данным продуктом.
  • Разработка на самописном движке актуальна для сложных нестандартных проектов, для штучного эксклюзива с толстым бюджетом, а также в качестве личных экспериментов и самообучения.

Теги:
Хабы:
Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.