В чем разница между CMS и Framework? и как выбирать между ними для определенных требований?

В настоящее время я работаю с Zend Framework, и я очень доволен этим. Я хочу знать, какие требования лучше использовать CMS, такие как Joomla или Drupal.

Учитывая мой текущий проект, это приложение для портала. Он полностью сделан с нуля в Zend. Затем кто-то приходит и комментирует, что он довольно реализован в drupal, вы можете получить плагины для материала, который вы создали с помощью тяжелых усилий.

Итак, мне нужно руководство для выбора между CMS и A Framework на этапе запуска?

Ответы

Ответ 1

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

  • бюджет
  • количество пользователей, которых вы будете иметь (долгосрочные проблемы с производительностью)
  • дальнейшее обслуживание
  • общее количество деталей (звонки и свистки), которые вы хотите предоставить на сайте
  • с использованием сторонних/пользовательских API
  • специальные/пользовательские функции, требующие высокого уровня свободы (пример: очки и баги очков StackOverflow)

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

Готовая CMS

Доводы

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

против

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

Пользовательское приложение

Доводы

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

против

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

Нижняя строка

Проведите несколько дней и узнайте что-нибудь о CMS, например:

  • Drupal - моя первая рекомендация; хорошо для средних и больших сайтов; хорошее сообщество; средняя/крутая кривая обучения
  • WordPress - моя вторая рекомендация; хорошо для малых и средних сайтов
  • Typo3 - система уровня предприятия; довольно сложный, в сочетании с каркасом, который можно использовать автономно в проектах
  • Joomla - мне лично это не нравится и не рекомендую его из-за любительских плагинов, но он популярен.
  • SilverStripe
  • MODX
  • Concrete5

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

Надеюсь, что это поможет:)

Ответ 2

Взгляните на Разницу между CMS и инфраструктурой веб-разработки на StackExchange.com.

A CMS (Content Magagement System) используется для управления контентом на веб-сайте. Он обычно предоставляет инструменты, позволяющие сделать эту задачу максимально простой.

Примеры CMS: Drupal, Joomla, DotNetNuke и т.д.

A framework похож на набор библиотек/классов для создания веб-приложения. Многие фреймворки предоставляют библиотеки для доступа к базам данных, шаблонов двигателей и т.д. Таким образом, вам не нужно изобретать колесо.

CMS часто основывается на Framework.

Примеры фреймворков: CodeIgniter, CakePHP, Kohana...

Ответ 3

@Voles указали, что CMS и Framework

Итак, ваш вопрос - "руководство по выбору между CMS и A Framework"

Хотите создать блог или простой сайт?

Перейдите в Wordpress, Drupal и т.д.

Хотите построить следующую facebook или stackoverflow или ваше приложение, которое текущие cms вам сложно изучить или ограничены функциями?

Затем перейдите к некоторым фреймворкам или обычным. Убедитесь, что вы знаете, как правильно его построить.

Вы также можете посмотреть http://cmf.symfony.com/.

Надеюсь, что это ясно.

Ответ 4

Помимо всех плюсов и минусов CMS и Framework, согласно мне, вам нужно изучить ваши требования во время запуска. Список модулей, которые вы хотите в своем приложении. Теперь проверьте, сколько модулей доступно в CMS, о которых вы знаете, например, drupal, joomla, wordpress и т.д., А также проверьте, сколько настроек вам необходимо в этих доступных модулях, а также настраиваемые модули, которые вам могут понадобиться для разработки в соответствии с вашими требованиями. И если вы узнали, что с минимальной настройкой вы можете использовать любую конкретную CMS и чем пойти на нее.

Но в случае, если ваше приложение может быть очень сложным по своему характеру, чем я предлагаю пойти на любую инфраструктуру MVC, такую ​​как Zend, Cakephp, codeigniter и т.д.

Да, еще одна вещь идет с любой CMS или Framework, с которой вы хорошо разбираетесь.

Ответ 5

Framework похож на библиотеку, используя эту библиотеку, мы можем разработать новую вещь. Независимо от того, является ли CMS именем, это встроенный источник для управления контентом. Как и Wordpress, нам не нужно ничего разрабатывать.

Ответ 6

Framework - создатель CMS, CMS - это, в основном, система управления контентом, которая фокусируется на управлении контентом, где все идеально настроено для вас, с несколькими строками кода и логикой веб-сайта ur или небольшого приложения могут быть разработаны

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

Ответ 7

Насколько я знаю, CMS и MVC являются платформами веб-приложений с библиотеками кодирования. CMS легче использовать для новичков, так как у него есть готовые функциональные возможности, поэтому вам не потребуется сложное кодирование. Я нашел полезную информацию в статье Wiredelta, возможно, это поможет и вам: https://blog.wiredelta.com/cms-mvc-framework-comparison/