CMS или веб-фреймворк? - Когда использовать что?


13

Когда я должен использовать систему управления контентом, и когда я должен использовать веб-фреймворк?

Ответы:


11

Решения для управления контентом (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 - это сами веб-фреймворки. Они находятся на более крупном конце базовой шкалы кода.


Пара моментов: есть ряд поставщиков WCM, которые оспаривают тот факт, что решения CMS отлично подходят для «базовых корпоративных или информационных сайтов» - как только вы попадаете в области SiteCore, EPiServer, Tridion и т. Д., Вы не глядя на базовый сайт, но это по-прежнему CMS. Во-вторых: было бы лучше сказать: «Большинство решений CMS построены на веб-фреймворках - будь то ASP.NET, Rails и т. Д.
Zhaph - Ben Duguid

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

5

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

Вы должны использовать фреймворк, когда хотите построить свою собственную, конкретную цель, платформу. Следовательно, вам нужна база для запуска веб-приложения / веб-сайта, без «повторного изобретения колеса» (поэтому есть встроенный валидатор электронной почты, валидатор ip, фильтры и т. Д.).


1

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

Фреймворк - это система, похожая на CMS, но она предоставляет вам еще большую гибкость в работе с вашим сайтом, поскольку вы сами пишете весь код.


0

Во-первых, CMS и веб-фреймворки - это не одно и то же, однако CMS находится на вершине фреймворка и может формировать собственный стандарт, а также интегрироваться в фреймворк. Важное различие между ними может заключаться, например, в том, что Drupal - это CMS как CMF, которая может легко сломаться, если вы установите плохо закодированный модуль. Даже понимание или работа с заранее определенным соглашением об именах, например, тематикой, является грязной работой в cms. Оставьте это для быстрой информации или маркетинга на основе веб-сайта. Вы должны знать одну тему и настроить ее под себя. Однако WF более гибок и ориентирован на программистов. Зачем учиться жестко кодировать drupal api, если вы можете сделать намного более чистый вывод с помощью фреймворка. Вы можете определить свои собственные функции, и вам не нужно устанавливать мусор, который вам не нужен.


1
Просто чтобы вы знали, вы должны присудить «лучший ответ» фактическому наилучшему ответу. Этот даже не читается.
Кензо
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.