Ответы:
Решения для управления контентом (CMS) - это платформы, которые вы можете установить на своем веб-сервере, которые позволяют вам выбрать или создать тему и начать добавлять контент на ваш веб-сайт. Решения CMS отлично подходят для блогов, новостных сайтов и базовых корпоративных или информационных веб-сайтов, где предполагается, что страницы будут содержать в основном текст, ссылки и изображения. Например, Wordpress и Drupal являются платформами CMS (Wordpress начинал как платформы для блогов и превратился в CMS). Кроме того, некоторые решения CMS являются более продвинутыми и могут создавать продвинутые веб-сайты, которые, как правило, являются более конкретными и / или стоят денег.
В дополнение к основному тексту, ссылкам и изображениям большинство решений CMS допускают дополнительные плагины, которые позволяют встраивать элементы Web 2.0 в область содержимого страницы, в меню или боковую панель. Под Web 2.0 я подразумеваю более продвинутые функции, которые создают динамический контент, такой как Google Maps или интерактивный контент. Некоторые из этих вещей могут быть легко встроены без плагинов в зависимости от того, насколько легко создатель контента сделал это для встраивания. Например, Wordpress имеет тысячи плагинов .
Некоторые плагины не являются специфичными для CMS. Хорошим примером может служить Disqus , который позволяет добавлять комментарии на ваш сайт, добавляя небольшое количество кода в ваш HTML.
Веб-фреймворк - это просто программный фреймворк, созданный для работы с кодом сайта. Каркасы могут быть на любом языке. Попытка создать сетку из разных языков может быть проблемой. Обычно часть кода платформы предназначена для работы на стороне сервера и никогда не видна клиенту. Фреймворки - это небольшие и большие пакеты кода, которые можно использовать для более быстрого создания веб-сайтов. Они могут добавить широкий спектр функций на ваш сайт. Некоторые примеры - CakePHP , все, что установлено с NuGet для .Net, или Rails .
Наконец, еще один способ взглянуть на это состоит в том, что большинство решений CMS - это сами веб-фреймворки. Они находятся на более крупном конце базовой шкалы кода.
Вы должны использовать CMS, когда вы хотите, чтобы полностью готовая платформа управляла контентом (для большинства), и у вас обычная (я имею в виду общая) и не слишком специфическая потребность.
Вы должны использовать фреймворк, когда хотите построить свою собственную, конкретную цель, платформу. Следовательно, вам нужна база для запуска веб-приложения / веб-сайта, без «повторного изобретения колеса» (поэтому есть встроенный валидатор электронной почты, валидатор ip, фильтры и т. Д.).
Насколько я понимаю, CMS - это встроенная система, которая позволяет быстро добавлять / изменять контент. Это дает обычному пользователю достаточно гибкости, чтобы изменить то, что делает ваш сайт, установив модули и темы.
Фреймворк - это система, похожая на CMS, но она предоставляет вам еще большую гибкость в работе с вашим сайтом, поскольку вы сами пишете весь код.
Во-первых, CMS и веб-фреймворки - это не одно и то же, однако CMS находится на вершине фреймворка и может формировать собственный стандарт, а также интегрироваться в фреймворк. Важное различие между ними может заключаться, например, в том, что Drupal - это CMS как CMF, которая может легко сломаться, если вы установите плохо закодированный модуль. Даже понимание или работа с заранее определенным соглашением об именах, например, тематикой, является грязной работой в cms. Оставьте это для быстрой информации или маркетинга на основе веб-сайта. Вы должны знать одну тему и настроить ее под себя. Однако WF более гибок и ориентирован на программистов. Зачем учиться жестко кодировать drupal api, если вы можете сделать намного более чистый вывод с помощью фреймворка. Вы можете определить свои собственные функции, и вам не нужно устанавливать мусор, который вам не нужен.