Битва титанов в разгаре. Что выбрать вам как бизнесмену? Или может быть выбирать не нужно, можно использовать и то, и другое ради достижения своей цели? Давайте порассуждаем.
Если нас интересует какой-то вопрос, то мы сразу же адресуем его поисковой системе, даже не пытаясь предварительно подумать, использовать методологию, чтобы самостоятельно получить ответ и укрепить заодно нейронные связи. Действия происходят уже автоматически, потому что мозг идет по пути меньшего сопротивления. Все процессы в нашей жизни мы стараемся упростить. Именно по этой причине в программировании наблюдается, по сути, такой же эффект. Программисты быстро создают простые легкие сайты на конструкторах или бесплатных cms-системах, и при любой классной нестандартной идее клиента сразу же отнекиваются и говорят, что такое сделать нельзя. Почему нельзя? Тыжпрограммист?
Если не лениться и заставить мозг искать решение, то можно. Опытные специалисты могут переписать модули Битрикса под эту классную идею клиента. Мы, например, просто не ставим четких условий вроде «использовать только битрикс или фреймворк». В результате получается продукт под нужды клиента, а не один из «чтобы было как у всех».
Бесплатные CMS
Стоит ли их вообще использовать? Например, самая популярная западная бесплатная cms-система Wordpress применяется очень часто для простеньких корпоративных сайтов малых и средних компаний. Это одна из самых первых систем. Вызывает ностальгию по блогам, ведь изначально она создавалась именно для этого, а сейчас используется для создания любых проектов.
В Казахстане для коммерческих проектов ее почти не используют, и на это есть как минимум две веские причины:
-
ограниченность функционала. Если хоть что-то немного нестандартное, придется дописывать вручную или неделями искать нужную информацию на форумах
-
угроза подцепить что-то вредоносное. Из-за того, что код открыт, любой разработчик может сделать модуль и разместить его в интернете. И не факт, что модуль не окажется вирусным. В огромном ассортименте модулей тяжело с ходу разобраться и уж тем более проверять каждый по буковкам на вредоносность.
Причины актуальны и для других бесплатных cms-систем, поэтому их использование может быть обосновано только для каких-то совсем маленьких проектов со стандартным функционалом – то есть без подключения систем учета, многоходовых квизов, системы бронирования, использования одного сайта для разных городов и т.п.
Платные CMS
Лидером в сегменте платных решений для создания сайтов уже который год подряд является Битрикс. По факту это монополия. У компании 1С солидное комьюнити, адекватная техническая поддержка, обучение для контент-менеджеров, практически безграничные возможности по функционалу и ряд дополнительных преимуществ. Конечно, не без минусов, но минусы заметны скорее новичками и тыжпрограммистам, которые более лояльны к другим системам, в которых они разбираются лучше.
Битрикс особенно хорошо подходит для интернет-магазинов благодаря богатому инструментарию для задействования маркетинговых фишек и работы с корзиной. Однако и этого не всегда бывает достаточно. Так бывает, что на практике приходится дорабатывать модули под конкретные клиентские запросы, и готовый проект выглядит так, как будто он и вовсе не из «коробки» Битрикса.
Иногда в коде Битрикса встречаются ошибки или несостыковки, даже несмотря на то, сколько человек его писали, выверяли и тестировали. Если что-то не сходится, то поправить можно, ничего при этом не сломав, но в какой-то момент для решения одной из сложных задач даже гиганта Битрикса может не хватить. Как быть в этой ситуации?
Использование CMS и Framework
Мы очень часто используем именно Битрикс из-за его удобства для клиента и высокой скорости разработки. Потому что к нам также часто приходят клиенты, которым сайт нужен был еще вчера, и при этом навыки с наполнением сайта минимальны. Битрикс позволяет удовлетворить оба этих условия. Однако, как было написано выше, для усложненных решений типа множественности форм, профилей, личных кабинетов или непростой бизнес-логики приходится задействовать фреймфорк. Что немаловажно, данными можно удобно управлять из административной панели Битрикса. Это сокращает срок и стоимость проекта, потому что нет необходимости создавать новую админку с нуля.
И вот в чем смысл консолидации: если требуется что-то нестандартное и сложное, а Битрикс справиться не может, то мы его не мучаем, пролонгируя срок разработки проекта, а пишем собственный код, и даже бывает очень много кода. Главная задача при этом – сделать код четко структурированным, стандартизованным, в классическом MVC-стиле, с коллекциями и роутерами, чтобы его можно было легко прочитать профессионалу. Применяем Bitrix/ZendFramework и Bitrix/Laravel. Второй вариант выбираем чаще ввиду его большей привлекательности и перспективности.
Преимущества использования CMS и Framework
-
Большая вариативность. Можно сделать все что угодно, даже очень сложные многоуровневые решения.
-
Код получается хорошо структурированным, логичным и понятным.
-
Высока скорость разработки. Особенно при сравнении с чистым фреймворком.
Недостатки использования CMS и Framework
-
Требуется опытный, знающий и думающий программист, способный менять не только стандартные решения Битрикса местами.
-
Увлечение чрезмерным проектированиям. Есть опасности войти в раж и сделать абсолютно все на фреймворке, хотя гораздо быстрее взять стандартный компонент.
Использование исключительно фреймворка для разработки проекта
Серьезные программисты и технические директора всегда голосуют за применение исключительно фреймворка для разработки проекта. Это продиктовано скоростью, гибкостью и властью над кодом. К примеру, такое может дать качественный фреймворк – Laravel. Но это долго и не дорого. Поэтому для создания небольшого корпоративного сайта или интернет-магазина абсолютно иррационально применять только фреймворк. Просто потому что незачем тратить впустую такой бюджет.
В каких ситуациях использование исключительно фреймворка обосновано? Тогда, когда нужен сайт-сервис, сложный личный кабинет, разработка API для стороннего ресурса или мобильного приложения. Ну или когда технический директор ни в какую не соглашается на разработку на Битриксе.
Подводим итоги: что лучше выбрать?
Сравнительная таблица в помощь.
Параметр | Бесплатные cms-системы | Платные cms-системы | CMS и фреймворк | Фреймворк |
---|---|---|---|---|
Вид проекта | блог, простой сайт-визитка | Простой сайт-визитка, небольшой корпоративный сайт, интернет-магазин | Крупный портал, сложный и большой интернет-магазин | API, личный кабинет, сервис, стартап |
Уровень программиста | Низкий: справится обычный фрилансер | Средний: можно привлечь фрилансера или небольшую студию | Выше среднего: желательно опытная команда | Высокий: команда опытных кодеров |
Преимущества | Бесплатно, широкий перечень готовых элементов | Скорость разработки, управляемость, предсказуемость системы | Скорость разработки, управляемость, предсказуемость системы | Четкий структурированный код, масштабируемость |
Недостатки | Уязвимость, сомнительное качество кода, плохая масштабируемость | Ограничения по бизнес-логике, сомнительное качество кода | Для поддержки также нужны хорошие кодеры | Долго, дорого |