CMS или Framework?
Существуют жесткие споры что же использовать CMS или фреймворк?
Расскажу, как я решил этот вопрос для себя. Я успел поработать с самыми разными CMS, но в итоге для себя выбрал Bitrix и только Bitrix! О плюсах и минусах битрикса я писал ранее. Наверное 98% всех задач я делаю на битриксе.
Но бывают задачи, для которых битрикс не подходит:
- Битрикс слишком дорогой для "простых" непрофильных задач. Ну на самом деле задача может быть и не простой, а очень даже сложной. Это, какие либо, сайты агрегаторы, сайты отчеты, сайты расписания. Их всех объединяет то, что им не нужна мощная админка битрикса.
- Битрикс слишком тяжелый для очень большой нагрузки. Сайт типа Вконтакта на битриксе я бы делать не стал:).
В таких случаях я использую Yii. Это мой первый php фреймворк, я не могу по личному опыту сказать чем он лучше или хуже других. Но выбор мой не случаен, я прочитал массу обзоров, пообщался с рядом людей, просмотрел различные таблицы сравнения, и в итоге, остановился на Yii. И сейчас я продолжаю убеждаться в правильности моего выбора.
Не стоит забывать что bitrix не только CMS, но и фреймворк, но для решения перечисленых выше задач он не подходит по тем же самым причинам.
Итак, можно ответить на, поставленный вначале, вопрос так: CMS И Framework! В моем случае это Bitrix и, в исключительных случаях, Yii.
upd от 18.01.2019
Прошло больше 4-х лет с момента написания оригинальной статьи, пришло время её дополнить.
Так ли тормозит битрикс по сравнению с фреймворками?
Чистое ядро битрикса стартует за 0,1 сек. (замер на моем локальном компьютере, конфигурация уже давно не топовая, диск SSD). Фреймворки (я проверял symfony и yii ) стартуют примерно за 0,05 сек. Тут фреймворки выигрывают. Весь вопрос: на сколько? В два раза или на 0,05 сек.?
Мне приходилось наблюдать ряд сайтов, сделанных на фреймворках. Сайты вполне обычные, не сложные, даже не интернет магазины, не предполагающие космическую нагрузку. Но разработчики решили выпендриться зачем то использовать фреймворки (разные: видел и yii, и symfony, и laravel). Итог сайты грузились больше чем за секунду... У меня на битриксе эти же самые сайты отрабатывали бы за 0,2-0,3 секунды... и это если сделать все стандартно и не упираться в оптимизацию, ведь никто не мешает и на битриксе все-все перекешировать и отдавать полный html из memcached вообще не подключая ядро.
Отсюда следует вполне логичная закономерность: фреймворки не гарантируют быстродействие, а битрикс не гарантирует тормозов. Любым инструментом нужно уметь правильно пользоваться.
Что бы я все таки выбрал? (размышления на 2019 год)
Если нужно сделать "стандартный" сайт: с админкой, с контентом, с html страницами - я бы выбрал битрикс. Тем более если речь идет об интернет магазине. Абсолютно не вижу смысла изобретать на фреймворке админку для интернет магазина... чтобы повторить битрикс понадобятся годы. Тогда как сайт на битриксе вполне можно оптимизировать чтобы он работал быстро. И главное нет предела оптимизации.
Если нужно сделать API систему, RESTful API например - тогда я бы выбрал фреймворк. Почему? Потому что апи система предполагает большое количество простых запросов к серверу, отсутствие жестко привязанной админки. Т.к. на простом запросе ядро битрикса проигрывает фреймворку 0,05 сек. А админка представляет собой другую систему общающуюся с сервером по тому же апи, это может быть веб приложение, мобильное приложение или вообще десктопная 1С...
Какой фреймворк выбрать на 2019 год?
Сейчас я бы остановился на Symfony. Я рассматривал 3 варианта: Symfony, Yii, Laravel. Ранее я советовал Yii 2, но к сожалению его развитие сильно замедлилось, да хуже он не стал, но другие фреймворки его обошли. Symfony или Laravel? Пока не было Symfony 4 - я бы затруднился ответить. Но с приходом Symfony 4 можно сказать что появился мой идеальный фреймворк. Это в базовой комплектации микро-фреймворк - который не содержит ничего лишнего. Но при этом легко подключаются все необходимые компоненты. Таким образом Symfony ничего не навязывает разработчику и предоставляет свободу выбора. Мне очень нравится такой подход.
Комментарии:
Григорий
03.08.2015 15:45:26
Андрей
09.10.2015 02:06:48
Используй фреймворк -Laravel - и спать крепче будешь!
Максим
09.10.2015 06:21:13
По принципу: "не покупай жигули, они плохие, ездей на трамвае, у него удобное расписание..."
Евгений
13.11.2015 17:11:31
Причем такое СЕО описание с этим словом. В общем сеошники оценят ибо сайт в ТОПЕ по ключевому запросу соответствующему заголовку статьи
Максим
13.11.2015 18:18:30
PS удалил ссылку на ваш сайт из вашего имени, неуместна она там:)
Иван
05.04.2016 21:15:02
Анастасия
05.01.2017 19:59:06
Для проекта создания сайта-каталога профессиональной косметики (для существующей розничной сети) с возможностью оформлять заказ (не покупать) сразу после запуска проекта и с возможностью создания полноценного интернет-магазина в будущем. Синхронизация с 1с планируется. На старте это выгрузка описаний товара и фото (их тех товаров, что в наличии в сети). в перспективе - передача информации об остатках и бронирование их в момент покупки на сайте.
Вот и думаю что предпочесть битрикс (изначально я рассматривала эту cms) или фреймворк (очень рекомендуют и веб-мастер нашей компании и разработчик).
Максим
06.01.2017 07:45:54
Битрикс далеко не идеальный, но то что нужно для интернет магазина - там есть, и можно добиться чтобы все отлично работало. А начиная такую разработку с нуля сложно учесть абсолютно все. Вероятный сценарий - это получится самый базовый функционал по цене дороже битрикса. А все доработки будут дорого обходится, т.к. изначально небыли предусмотрены. Поддержкой проекта смогут заниматься только сами разработчики, другим программистам будет сложно вникать в чужой код и чужую структуру.
Анастасия
06.01.2017 15:22:12
Я понимаю о чем вы. Свой велосипед всегда интересно изобретать, особенно когда речь идет о работе с понятными и красивыми детальками.
Насчет вникания в чужой код и чужую структуру - я этого тоже опасаюсь - наши разрабочики говорят, что в фреймворке все так просто и интуитивно понятно, что человеку незнакомому с проектом, даже вникать в него сильно не придется. ибо там самая понятная и самая логичная структура.
Сейчас я сама уже больше за битрикс. если речь идет о дальнейшей поддержке проекта внешними ресурсами - то лучше брать то, что а) все знают б) есть служба поддержки в) все в битриксе уже придумано и даже то, о чем я сама (как разработчик структуры проекта и маркетолог) еще не подозреваю.
Алексей
12.05.2017 19:01:39
Сейчас есть сайт grandisvillas.ru фрейморк laravel , пларию переделать сайт по принципу аирбнб, но для этого сказали надо писать новый движок примерно 1 год и денег чемодан, предлагают сделать на битриксе, тоесть админка вроде как готова, но не понятно, потянет ли битрикс. Хочется услышать мнение профессионала. Спасибо
Максим
12.05.2017 20:41:46
Макс
26.03.2018 12:38:29
Тоже писал статью на тему, если интересно:
https://vk.com/@framework_yii-or-cms
Оставить комментарий: