В чем разница между 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/