Разница между CMS (joomla, drupal) и Frameworks (Zend, Symfony, CI) - PullRequest
6 голосов
/ 26 сентября 2010

Какие приложения разрабатываются с использованием CMS, такие как joomla, drupal, и какие приложения разрабатываются с использованием фреймворков.

Если все виды приложений можно разрабатывать в CMS, таких как drupal, то почемутакие рамки, как SYMFONY?

Ответы [ 6 ]

9 голосов
/ 26 сентября 2010

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

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

  • парадигма MVC
  • Разбор и обработка URL
  • 1012 * Шаблонирование *
  • Лучшая обработка запросов
4 голосов
/ 28 сентября 2012

Joomla & Drupal имеет управление пользователями через списки контроля доступа.

Оставляя CMS в стороне, вы можете использовать управление пользователями, чтобы помочь вашему php-компоненту, который встраивается в CMS.Таким образом, у вас есть платформа / платформа, которая обновляется и исправляется более широким сообществом.

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

2 голосов
/ 11 июля 2012

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

В CMS весь программный код уже написан, и пользователь просто вводит данные для сайта (страницы, сообщения в блоге и т. Д. - см., Например, Wordpress); если, конечно, вы не хотите изменить исходный код или создать собственный плагин для него.

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

С помощью фреймворка вы фактически пишете код для реализации веб-сайта (или того, что вы создаете), но начинаете с некоторого готового кода, который определяет общую структуру программного обеспечения (а не структуру сайта, обратите внимание) и который обычно предоставляет множество функций / методов для обработки типичных задач кодирования. Таким образом, идея заключается в том, что разработчик тратит больший процент своего времени на фактический «бизнес-код», а не на подробные детали (т. Е. «Каркас»), на которых реализована эта бизнес-логика. Ознакомьтесь с руководствами CodeIgniter, чтобы понять, что это значит.

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

2 голосов
/ 26 сентября 2010

CMS - это продукт (Система управления контентом), который позволяет пользователям публиковать контент и управлять им, это решение, разработанное на языке. Drupal и Joomla - это PHP-решения CMS. Вы настраиваете JOOMLA и Drupal под свои нужды для своего пользовательского продукта CMS. Фреймворки отличаются, они представляют собой шаблоны проектирования шаблонов кодирования, объединенные вместе для использования языка модульным и более подходящим способом. Когда я говорю шаблоны кодирования, можно использовать архитектуру контроллера представления модели, чтобы отделить вашу логику Busnieess от Presentation.

1 голос
/ 28 сентября 2010

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

Однажды я заключил контракт на создание агрегата блогов в Drupal.Это был не тот инструмент.А недавно я также создал приложение для мобильных телефонов в Drupal.Я бы предпочел сделать это в рельсах.

0 голосов

CMS, такую ​​как joomla, может использоваться для создания полностью пользовательских приложений, таких как обычная среда, такая как Zend и т. Д.

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

Joomla использует парадигму MVC и имеет собственную структуру.Он обеспечивает действительно хорошее управление пользователями (с версии 1.6

Зачем изобретать велосипед.

...