Сайты на фреймворках: четыре ситуации, когда лучше остановиться на них

Бизнес сейчас все чаще обращается к CMS системам. Это действительно удобно: 

  • тот же интернет-магазин можно запустить относительно быстро и недорого, 

  • карточки с новыми товарами сможет размещать любой маркетолог через «админку»,

  • для обслуживания сайта не нужно много ресурсов IT специалистов.

Но есть ситуации, в которых CMS система — неудачный выбор. В статье разберем реальные ситуации, в которых лучше обратить внимание в сторону разработки на фреймворках — например, Laravel и Vue JS.

Ситуация 1 — нужен гибкий функционал 

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

Допустим, вы хотите разработать интернет-магазин по продаже электронных устройств. И прямо сейчас нужно, чтобы в нем была только корзина товаров, простая витрина и онлайн-оплата. Склад отгрузки у вас пока один, и реализовывать сложную логику резервирования товара не нужно. В этом случае CMS система — идеальный выбор. Клиент просто выбирает нужный товар, и он после оплаты автоматически перемещается в пункт выдачи.


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


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

  • изменить «ядро» — сложно, поэтому будет дорого стоить;

  • техподдержка системы и официальные обновления станут невозможными;

  • обслуживать такой переделанный сайт возьмется не каждый ITшник.


Но если интернет-магазин сразу написан на фреймворке, то доработать его будет намного проще. Ведь «ядро» сайта гибкое, и в нем можно прописать любую логику.


Вывод

Если сейчас сделать сайт на CMS системе дешевле и проще, чем на фреймворках — не торопитесь. 


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



Ситуация 2 — нестандартные требования к безопасности 

Другой пример — есть завод, производящий металлообрабатывающие станки. В цехах работает много рабочих, и им нужно взаимодействовать с бухгалтерией: заказывать справки 2-НДФЛ, отправлять заявления на отпуск и так далее. Но доступа к компьютерам у них нет, а физически ходить в бухгалтерию неудобно. Поэтому заводу нужно мобильное приложение, чтобы работник мог все это сделать прямо на рабочем месте. 

Все эти функции есть в CRM системе: например, отлично подойдет мобильная версия Битрикс24. Одновременно тут можно и интеграцию с 1С сделать, и легко внедрить его среди сотрудников — казалось бы, выбор очевиден.


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


Вывод

Если ваш бизнес работает в России, то Битрикс24 — отличное решение, которое учитывает требования российского законодательства. 


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



Ситуация 3 — большая нагрузка на сайт

Если говорить простым языком, у любого сайта есть две части: 

  • фронтенд — это все, что видно пользователям: страницы, меню и прочее.

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


Особенность CMS системы в том, что фронтенд и бэкенд части совмещены и как бы «зашиты в „ядро“». Поэтому весь сайт функционирует на одном сервере. Обычно это удобно и экономично, но не во всех случаях.


Вернемся к примеру с запуском интернет-магазина электронных устройство. Представьте, что изначально вы рассчитывали на 200-300 пользователей в день. Это невысокая нагрузка, поэтому сайт на CMS системе работает без задержек и для его работы не требуются дополнительные серверы. Но спустя полгода вы видите, что у вас уже 5000 посетителей в час — ваш бизнес растет очень быстро, поздравляем! 


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


Если бы интернет-магазин изначально был сделан на фреймворках, то таких проблем не возникло. Дело в том, что в этом случае фронтенд и бэкенд разрабатываются отдельно. Это дает преимущества: 

  • сайт в целом работает быстрее и может справиться с большей нагрузкой — есть как бы запас прочности;

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


Вывод

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


А если продаете условно чехлы для телефонов, то и 10 000 пользователей в день могут не быть пределом. В этом случае правильнее будет писать сайт «с нуля». 



Ситуация 4 — нужен необычный дизайн 

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


Как вариант, можно реализовать любой дизайн на фронтенд (том же Vue JS), а дальше настроить интеграцию с CMS системой по API — вся бэкенд часть будет на ней. Но в этом случае это может быть неоправданно:

  • на практике итоговая стоимость разработки сайта будет сопоставима с ценой разработки полностью на фреймворках;

  • если со временем потребуется дополнительный функционал, придется вносить изменения в «ядро» CMS. Допустим, захочется добавить онлайн-калькулятор цен на квартиры, расчет ипотеки или сделать подбор планировки под ответы посетителей.


Вывод

Если хотите сайт с красивым дизайном и сложной анимацией, то CMS — не лучшее решение. 


Проще сразу сделать сайт на фреймворках: потом сможете добавить любой функционал под ваши бизнес-требования.



Что выбрать в итоге

Каждый из вариантов имеет свои преимущества и недостатки. Давайте подведем итоги, сравнив разработку сайта на 1С-Битрикс и на фреймворках:


CMS система 1С-Битрикс

Фреймворки Laravel и Vue JS

Преимущества:

1. Первоначальная разработка занимает меньше времени и часто дешевле разработки сайта на фреймворках.

2. Публиковать контент и поддерживать работу сайта можно без серьезного привлечения IT специалистов.

3. Легко интегрируется с некоторыми внешними сервисами (например, 1С Бухгалтерией).

Преимущества:

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

2. Можно настроить под любые требования безопасности.

3. Лучше работает под высокой нагрузкой.


Недостатки:

1. Сложнее доработать функционал или сделать необычный дизайн.

2. В некоторых случаях могут быть вопросы по безопасности.

3. Хуже приспособлены для работы под высокой нагрузкой.

Недостатки:

1. Первоначальная разработка может занять больше времени и выйти дороже разработки сайта на CMS.

2. Для работы сайта и публикации контента потребуется больше ресурсов IT специалистов. 

3. Связь с любым внешним сервисом (той же 1С Бухгалтерией) нужно реализовывать «с нуля».



Если вы сомневаетесь, на базе чего сделать корпоративный сайт или интернет-магазин, мы поможем:

  • проконсультируем с выбором, с учетом специфики вашего бизнеса;

  • согласуем все требования: от дизайн-проекта до логики работы сайта;

  • выполним разработку «под ключ» как на базе CMS Битрикс, так и на базе фреймворков Laravel и Vue JS. 

Есть задача?
Найдем решение!
Я даю Согласие на обработку персональных данных в соответствии с Политикой Конфиденциальности