logo
Web
Максим Колмогоров
Максим Колмогоров
Разработка сайтов

Самописные CMS: плюсы и минусы

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

Самописные CMS: плюсы и минусы

Дисклеймер

Автор статьи – разработчик с пятилетним опытом работы, а также совладелец двух стартапов. Автор умеет в разработку сайтов (разной сложности) и мобильных приложений. В контексте данной статьи понятие CMS и “движок” будут соединены, что не совсем корректно, но, раз статья пишется, в первую очередь, для предпринимателей, данной действие уместно для упрощения усвоения информации.

Что такое CMS

Если не знаете, что такое CMS, прочитайте эту статью. Если лень переходить по ссылке, кратко опишем термин ниже.

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

Что такое самописная CMS (движок для сайта)

Самописная CMS – это не конструктор или готовая CMS, это некая интеллектуальная собственность, написанная “под заказ” для сайта клиента. Обычно самописные CMS разрабатываются программистами с нуля на каком-либо серверном языке программирования (PHP, Node.js, Java, Python, Go) или фреймворке (читать как инструмент), в котором есть некий набор готового кода, чтобы разработчик немного сэкономил время.

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

Минусы самописных CMS

Самописная CMS как будто говорит: “Эй, программист, делай все сам”.

Нет плагинов и привычных вещей из коробки

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

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

Стоимость кусается

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

Интерфейс может быть неудобным с самого начала

Панель управления (CMS) вначале может быть неудобной, придется что-то доделывать и переделывать, придется привыкать к новому. Да, рано или поздно этот “сшитый на заказ костюм” будет сидеть как надо, хотя потребуется время.

Плюсы самописных CMS

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

Бешеная скорость

Сайты на самописных движках (чаще всего) очень быстрые. Все привыкли, что Битрикс сам по себе медленный из-за кучи разных модулей и модификаторов, написанных разработчиками. WordPress, обвешанный плагинами, вообще бомба замедленного действия, мало того, что он медленный, так еще некоторые плагины “дырявые” и через них сайты ломают только так.

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

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

Новейшие технологии

Веб-технологии развиваются быстро, сейчас на смену обычным сайтам приходят сайты с реактивным интерфейсом. Реактивный интерфейс – это работающий без привычных загрузок интерфейс, примеры: Ozon, Додо Пицца, Тинькофф Инвестиции, Пицца Сан.

До обычных готовых CMS данная технология будет доходить очень и очень долго, а может быть и никогда не дойдет из-за того, что многие старые игроки используют устаревшие концепции в программировании. Тот же Битрикс пытается внедрить реактивный интерфейс в свои новые версии, но делает это маленькими кусочками. То, что анонсировали в новых версиях Битрикса, все еще не дотягивает до нужного уровня, и это нормально, ведь внедрить новые концепции и парадигмы в старый и огромный продукт (можно сказать настоящий enterprise) – просто трудозатратно.

Полный контроль и удобство доработки

Свою систему легко дорабатывать, Вы и Ваши разработчики знают внутри все как свою родную мать. Именно поэтому разработчики более легко решают нетривиальные задачи, они ведь сами это породили.

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

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

API

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

Если Вы создаете мобильное приложение, то API это обязательный атрибут, ведь у каждого приложения своя бизнес-логика, и 90% готовых CMS могут в нее не попадать.

Полный кастом

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

Вывод

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

Если Вы хотите сделать MVP сайт или просто протестировать нишу, или нужен сайт ради сайта, то, конечно, можно и нужно (дешевле же) остановится на обычных готовых CMS.

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

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

Нажимая на кнопку, вы даете согласие на обработку персональных данных и соглашаетесь c политикой конфиденциальности

Нет комментариев