Собственная CMS с нуля или Готовая?

Author Автор: Роман Чернышов    Опубликовано: 16 января 2011

Меня периодически спрашивают, мол Рома скажи какая система для управления контентом сайта лучше, та что написана самостоятельно или готовая. Например какая нибудь из популярных: Joomla, WordPress? На что я однозначно ответить не могу, т.к. у этих двух вариантов есть свои плюсы и минусы, что вполне естественно. Но тем не менее давайте немного поразмышляем, раз уж такой вопрос стоит.

И так, преимущества готовой популярной CMS (буду перечислять в виде списка, дабы так удобнее)

1) Достаточно продвинутая админская зона сайта, богатый функционал

2) Гарантированная разработчиком безопасность, стабильность и надежность

3) Доступность инструкций, помощи и техподдержке по работе с CMS

4) Большое разнообразие уже готовых шаблонов, модулей и плагинов для выбранной вами системы.

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

На ряду со всеми плюсами, есть и весомые минусы, поехали:

1) Часто разработчики пытаются оснастить свою CMS всем, чем только можно, это могут быть и библиотеки работы с графикой для разных PHP модулей, различные текстовые редакторы WISIWIG, занимающие огромное количество пространства на сервере. Перегружают интерфейс админки Ajax, Jquery, JS, Mootool и прочими библиотеками. В результате движок становиться очень тяжелым и не поворотным, часто тормозящим на слабом хосте или при сильных нагрузках (посещаемости).

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

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

Как видно, часть преимуществ готовой CMSки, тут же опровергалась.

Давайте теперь подумаем о преимуществах самописного движка:

1) Высокая скорость работы, за счет откидывания всего не нужного функционала, и затачивания движка под конкретные условия.

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

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

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

5) Солидность, как не крути, а этот плюсик для кого-то основной.

Недостатки у такого подхода будут следующие:

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

2) Длительность разработки. Т.к. многие функции реализуются с нуля.

3) Опять же если вы пишите такую CMS не сами, а заказываете программисту, стоимость работ значительно выше, нежели при использовании готовой.

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

2 комментария to “Собственная CMS с нуля или Готовая?”

  • Евгений 02.01.2014 в 11:36 пп

    Здравствуйте, я бы выбрал лучше готовую CMS, но создавая свой движок Вы наберетесь опыта в программировании!

  • Роман 18.05.2016 в 5:17 пп

    Я для небольших проектов использую готовую CMS, а для своих задач пишу свою с нуля под конкретную задачу.
    Хотелось бы иметь «каркас», который потом наращивать в зависимости от задач, чтобы постоянно не писать его с нуля) Если есть такая возможность, то было бы хорошо узнать ее)) Про сохранение файлов конфига и функций, то такое, это минимум)) И у меня все функции хранятся в отдельном файле, который подключается к файлам.

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

Оставить комментарий на Евгений

Автор блога
Роман Чернышов
Веб-разработчик,
Full Stack
Senior, Architect
PHP, JavaScript, Node.JS, Python, HTML 5, CSS 3, MySQL, Bash, Linux Admin
Заказать работу
предложить оффер

Моя книга
Книга. Веб-разработчик. Легкий вход в профессию
Печатная книга
Веб-разработчик.
Легкий вход в профессию
Купить за 159₽
Последние вопросы
Список вопросов
Последние комментарии
Меню

Archive

Мои проекты
Insurance CMS Love Crm CMS Совместные покупки Мой PHP Framework Хостинг для моих клиентов Лицензии на мой софт и поддержка