SharePoint Alfresco PHP MySQL
О сайте Контакты
среда, 24 февраля 2010 г.

Использовать CMS или писать сайт с нуля?

Если возникла необходимость создать сайт, ну или сама собой пришла в голову мысль сделать что-то хорошее и доброе для интернета, носитель сей мысли обычно задумывается – кто будет делать сайт, на чем, и в какие сроки. Обычно ответом на вопрос «Кто» является сам человек. Гораздо интереснее ведь сделать свой собственный, родной сайт. Второму вопросу – «На чем» - как раз и посвящена данная статья.

Науке известно множество готовых решений, основанных на CMS, таких как Drupal или Joomla. Казалось бы, чего проще? Установил пакет из инсталлятора, заполнил парочку страниц, выбрал незаезженный симпатичный шаблончик – и радуешься жизни. При этом никакого программирования, дешево и сердито. Плюсы при использовании CMS:

1) Простота и быстрота развертывания. Можно сделать сайт за 5 минут.

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

3) Простота поддержки, так как есть готовая админка, работать с которой можно обучить любого за 5 минут.

Но это на первый взгляд все так хорошо. Как известно, бесплатный сыр бывает только в мышеловке. В чем же подвох? А вот в чем:
1) Любая CMS – универсальна. Она запросто может не учитывать вашу узкую направленность. Например, вам надо сделать сайт кафедры – ни одна CMS не содержит в себе модулей для работы в такой специфичной сфере (студенты, преподаватели, оценки, посещаемость). В общем, рано или поздно придется дописывать, если у вас не сайт-визитка.

2) Так как CMS пытается охватить весь спектр задач, то в ней наверняка будут те функции, которые вам не нужны. И вы вынуждены будете с ними мириться, что само собой будет тормозить загрузку страницы и нагружать сервер. Попробуйте прикинуть, сколько ненужных SQL запросов идет к базе в стандартной CMS? А ведь большинство людей даже не задумывается о том, что происходит там внутри, а там зачастую все не очень хорошо оптимизировано.

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

4) Вопрос качества должен стоять на первом месте. Кто пишет эти самые бесконечные бесплатные модули? При всем уважении, их пишут энтузиасты, уровень знаний которых запросто может оказаться весьма низким. Вы готовы доверить свой проект безграмотно написанному коду?

5) Стандартные средства имеют стандартные дыры. Если хакер увидел, что вы используете определенный компонент, он со 100% вероятностью его взломает – либо найдет готовый эксплоит, либо вычислит дырку сам (зная исходный код – это не проблема).

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

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

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

Sergey Lysenko, среда, 24 февраля 2010 г.

Комментарии: