Фреймворк для cms: В чём разница между фреймворк и cms? — Хабр Q&A

CMS или Framework: что выбрать за основу сайта?


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


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

Так в чем же разница?


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


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


Рассмотрим их более подробно.

CMS


CMS делятся на 3 основных типа:

  1. бесплатные open-source проекты
  2. платные “коробки”
  3. внутренние CMS веб-студий

Бесплатные open-source CMS


Данные CMS самые популярные при разработке сайтов. Разработкой самих систем занимаются тысячи разработчиков по всему миру, а разработкой модулей к ним занимаются миллионы. Первоначальная установка системы достаточно скудна на функционал, она имеет минимум функций, достаточный для создания простого сайта-визитки или максимум каталога, но легко расширяется сторонними модулями.


Преимуществом и одновременно недостатком таких систем является огромное сообщество разработчиков и огромное количество бесплатных готовых модулей.


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

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

  • средняя скорость работы сайта: первоначальная установка содержит достаточно мало функций и сайт работает быстро, если не устанавливать в него сотню сторонних модулей


Недостатки:

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


В целом это неплохой вариант для простого сайта со стандартным функционалом. Наша компания работает с MODX Revolution и WordPress.

Платные CMS


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


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

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


Недостатки:

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


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


Наша компания работает с 1C-Битрикс, т.к. он является абсолютным лидером среди платных CMS в России.

Внутренние CMS веб-студий


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


Преимущество данного варианта только одно: цена на такой сайт всегда ниже, чем на платной CMS или фреймворке и возможно даже ниже, чем на бесплатной CMS.


Недостатки:

  • достигается низкая цена путем массового производства практически идентичных сайтов, расхождение со стандартным функционалом не допускается или допускается в минимальном количестве
  • минимальное количество функций, намного меньше чем у платных и open-source CMS
  • при желании дорабатывать сайт вы будете “привязаны” к компании-разработчику: в других веб-студиях или откажутся делать доработки, или предложат сделать новый сайт, или в лучшем случае цена будет сильно завышенной по сравнению с аналогичными доработками на платных или бесплатных системах.
  • качество системы вызывает сомнение: возможно в ней есть уязвимости и сайт может быть заражен и даже утерян


Даже, если вам нужен простой сайт с минимум функций за минимальную цену, лучше искать разработчиков на бесплатной open-source CMS.

Framework


Вот мы и добрались до самого интересного! Что же такое фреймворк и когда стоит делать сайт на нем?


Фреймворк — это каркас для создания сложных проектов с огромным количеством нестандартного функционала или проектов, рассчитанных на огромную посещаемость. В начальной установке находится минимум функций, недостаточный для полноценного функционирования сайта и зачастую они нужны не для использования на сайте, а чтобы помочь разработчикам разобраться во внутренней экосистеме фреймворка и показать пример “правильного кода”.


Сначала перечислим недостатки:

  • большой срок и высокая стоимость разработки
  • минимальное количество функций в первоначальной установке, намного меньше чем в open-source CMS, а с платными системами разрыв еще сильнее
  • высокий порог входа в разработку, а следовательно небольшое количество разработчиков: сложнее найти разработчика и стоят они дороже своих “CMS” коллег


А теперь перейдем к достоинствам:

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


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


Наша компания работает с Yii2, но при необходимости мы готовы сделать проект и на Laravel и на другом фреймворке, если у вас есть свои предпочтения.

Подведем итоги


Если вам нужен простой сайт-визитка, лендинг или сайт-каталог без дальнейшего развития до интернет-магазина, то можно использовать бесплатную open-source CMS, но мы советуем воспользоваться младшими редакциями 1С-Битрикс: стоят они недорого и за небольше деньги вы получаете качество и надежность платной CMS.


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


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

ФРЕЙМВОРК ИЛИ CMS. ЧАСТЬ 2.

ФРЕЙМВОРК ИЛИ CMS. ЧАСТЬ 2.

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

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

PHP фреймворки

Итак преимуществ фреймворков:

  • Гибкость разработки, чего лишены CMS;
  • Высокая скорость работы приложений и сайтов, сравнительно с сайтами на CMS. При разработке с использованием фреймворкав структуру сайта включается, только нужный функционал. Все, что понадобиться в будущем, будет добавлено по мере необходимости;
  • Все готовые конструкции, которые входят в фреймворк, на этапе создания проходят проверку программистов с высоким знанием языка программирования и фреймворка, что гарантирует высокое качество и хорошую производительность будущих сайтов;
  • В отличие от написания сайтов на чистом PHP, использование фреймворка значительно ускореят разработку, поскольку состоит из готовых конструкций;
  • Использование проверенного кода гарантирует избегания возможных сбоев в дальнейшей работе системы, что возможно при написании кода на чистом PHP;
  • Простота расширения и наращивания будущего функционала, в отличии от CMS.

Основные плюсы описали. Давайте посмотрим, как обстоят дела с минусами.

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

Выбирая, на чем именно Вы хотите разрабатывать свой будущий интернет-магазин необходимо учитывать несколько факторов. В первую очередь – это бюджет. Могу попробовать дать несколько советов на этот счет. Если вы только начинаете осваивать электронную коммерцию, собираетесь заниматься небольшой товарной группой и вас весьма ограниченный бюджет – лучше начать с CMS. Ее вы сможете установить самостоятельно, либо же заказать услугу установки и базовой настройки. Это не будет стоить очень больших денег, но в то же время поможет сэкономить время и деньги в будущем. Несмотря на кажущуюся простоту работы с CMS существует ряд особенностей, которые могут сказаться на дальнейшую работу сайта. Поэтому все же лучше довериться профессионалам.

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

  • Медленная работа;
  • Неудобное добавление товаров;
  • Плохая SEO оптимизация;
  • Сложность настройки акций и т. д.

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

На данный момент наиболее распространенные три PHP фреймворка:

  • Yii;
  • Laravel;
  • Symfony

В нашей стране наибольшую популярность приобрел в фреймворк Yii 2. На нем разработано множество больших интернет-магазинов. С данным фреймворком мы работаем на протяжении нескольких последних лет. Он себя отлично зарекомендовал в ряде проектов, среди которых: интернет-магазины, CRM и таск-менеджеры.

54321

(0 votes. Average 0 of 5)

Зимний ЦМС

Снова наслаждайтесь разработкой.

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

Начало работы с Winter CMS

Мощность и простота.

Winter CMS — это бесплатная система управления контентом с открытым исходным кодом, основанная на PHP-фреймворке Laravel . Разработчики и агентства по всему миру полагаются на Winter CMS за ее быстрое прототипирование и разработку, безопасную и надежную кодовую базу и стремление к простоте

Ознакомьтесь с нашими функциями Внесите свой вклад в Winter CMS

Продуманная конструкция системы, кэширование и другие оптимизации гарантируют, что ваши проекты будут работать под нагрузкой.

Создавайте сложные веб-сайты, используя только HTML, CSS и JavaScript, с помощью красивой и удобной панели Backend.

Тщательные итерации с акцентом на обратную совместимость дают вам уверенность в том, что ваш веб-сайт будет функционировать долгие годы.

Благодаря полному доступу к исходному коду и прозрачности Winter CMS тщательно контролируется. Вопросы безопасности решаются оперативно.

Все, что вам нужно, чтобы выдержать бурю.

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

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

Посмотреть рынок

Быть в курсе

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

Последнее сообщение в блоге

Зима: 16 месяцев спустя

Опубликовано 14 июля 2022 г.

Первый год Зимы позади, давайте посмотрим, чего нам удалось достичь в 2021 году.

Посмотреть этот пост

Читать все сообщения

Последняя зимняя версия CMS

v1.2.1

Выпущено 20 октября 2022 г.

14 улучшений UX/UI, 25 изменений API, 33 исправления ошибок, 4 улучшения безопасности, 5 улучшений перевода, 1 улучшение производительности, 2 улучшения сообщества, 2 зависимости, 0 новых участников
* @cstorus сделал свой первый вклад в https://github.com/wintercms/winter/pull/616.
* @simonmannsfeld сделал свой первый вклад в https://github.com/wintercms/winter/pull/623
* @quangtrongonline сделал свой первый вклад в https://github.com/wintercms/winter/pull/636
* @nathanlesage сделал свой первый вклад в https://github. com/wintercms/winter/pull/665.
* @vlllvll сделал свой первый вклад в https://github.com/wintercms/winter/pull/669* @robertalexa внесли свой первый вклад в https://github.com/wintercms/winter/pull/668.
* @iamyigitkoc сделал свой первый вклад в https://github.com/wintercms/winter/pull/624.
* @hecc127 сделал свой первый вклад в https://github.com/wintercms/winter/pull/682.
* @prsuвнесли свой первый вклад в https://github.com/wintercms/winter/pull/723

Посмотреть детали

Посмотреть все выпуски

Платформа

» Silverstripe CMS

Этот сайт требует обновления вашего браузера. На работу в Интернете может повлиять отсутствие самой последней версии.

Создайте логичный структурированный код

Silverstripe Framework предоставляет вам инструменты для создания веб-приложения, которое вы действительно хотите создать, без необходимости соответствовать правилам и ограничениям других систем.

Характеристики

Наше объектно-реляционное сопоставление (ORM) позаботится о ваших данных

Определите свою модель данных, затем Silverstripe Framework создаст и обновит для вас схему базы данных с помощью простых в использовании методов доступа к отношениям.

Создавайте свои веб-формы в кратчайшие сроки

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

Шаблонизатор для фронтенд-гуру

Механизм шаблонов Silverstripe Framework намеренно прост, сохраняя логику приложения на уровнях модели и контроллера, поэтому вы полностью контролируете свой HTML.

Повторно используйте свой код

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

Разработка с открытым исходным кодом

Фреймворк выпущен под лицензией BSD с открытым исходным кодом, при этом его разработка осуществляется публично в сотрудничестве с сообществом на GitHub и списком рассылки.

Масштабируйте, масштабируйте и безопасно

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

Программирование приложений и интерфейсы запуска

Сообщите Silverstripe Framework о своей модели данных, и вы получите три интерфейса: полный API REST , API GraphQL и интерфейс административного редактирования.

Скриншот фреймворка

Отзывы

Silverstripe CMS интуитивно понятна. Для обучения требуется мало времени, что для любой организации имеет существенное значение.