CMS или FRAMEWORK? Cms или фреймворк


Что выбрать для проекта CMS или Framework? CleverMan.org

Итак, в чем отличие CMS от framework? Постараюсь говорить простым и понятным для большинства языком. CMS - это готовый программный шаблон для создания сайта. А именно, он уже обладает богатым набором функционала из коробки: админка, система регистрации, авторизации и аутентификации; система ролей для пользователей и настройка прав; готовый шаблон с блоками и панелями; множество предустановленных модулей, которые позволяют получить богатый функционал (блоги, форумы, голосовалки, соц. сети, галереи, доски объявлений и т.д.). При этом можно создавать прямо из админки сайта новые страницы, поля для форм, целые разделы и типы данных, настраивать ссылки, алиасы и много вообще еще чего. У каждой CMS есть свое огромное сообщество, которое каждый день выпускает новые решения, новые модули, шаблоны и другие интересные ништяки.

Казалось бы, вот он рай неземной. Но не все так радостно, как может показаться. И чем более квалифицированный программист, чем больше у него опыта и знаний, тем меньше ему хочется работать с CMS. Я не беру во внимание безнадежных фанатов! На то они и фанаты и доводы тут бессильны.

Итак, обратная сторона красивой медали. А вот она уже очень некрасивая! Чтобы все это буйство решений работало в одной связке, нужен очень строгий и типизированный механизм. А если конкретнее, то ядро системы должно иметь механизмы, позволяющие подключать разнообразные модули, которые будут сразу же работать после включения. А это означает, что структура модуля должна быть строго типизированная, конкретно под свой CMS. И будет работать только под ее управлением и только той версии, под которую написан этот модуль. Система хранения данных в базе уже определена, и поэтому необходимо следовать стандарту. Система шаблонов также строго типизирована. Для того, чтобы все красиво состыковывалось и работало, созданы системы таких жутких костылей, что иногда на это без слез смотреть нельзя.

Когда вы захотите получить для своего проекта функционал, которого не существует из коробки, то вам придется создавать свой модуль или модули. При этом вы неизбежно столкнетесь с тем, помимо того, что необходимо строго следовать стандарту конкретной CMS, что вам все время придется придумывать свои костыли, чтобы обойти множество ненужных вещей, которые будет вам навязывать ядро. Для примера, вы хотите убрать из какой-то формы регистрации часть описания, или изменить внешний вид поля, или изменить обработчик, на который нужно повесить свой дополнительный функционал. И вот тут вы начнете скакать на граблях. Любая кастомизация, в том числе и внешнего вида, принесет вам очень много головной боли. Вы столкнетесь с тем, что в шаблон для рендера передается такое количество "мусора", что не совсем понятно, почему он называется шаблоном. Перехват данных до вывода в шаблон, перехват данных после вывода в шаблон, перехват данных в момент создания формы и еще сотни всяких приколов.

Вместо создания собственного функционала, вы будете большую половину времени тратить на борьбу с CMS, читать сутками мануалы, искать в интернете решение проблемы вылазящих ото всюду багов. Или как обойти то или иное ограничение. Вольетесь в сообщество и превратитесь в адепта системы. Другими словами, вы будете не свой код создавать для себя и заказчика, а будете придумывать 1000 + 1 способ, как обойти ограничения или избыточность CMS.

Что же такое Framework? А это уже полуфабрикат, который представляет из себя только набор минимально необходимого функционала, который реализовывает ряд популярных паттернов. Например, MVC, который уже по умолчанию является стандартом при создании сайтов. Как правило, из коробки нет ничего. Но зато у вас в руках появляется мощный инструмент. Вы можете создать такую архитектуру вашего проекта, которую хотите. Создать структуру базы данных именно так, как вам необходимо. В ваш шаблон вы выводите только то, что вам нужно, а сам шаблон - это действительно шаблон, а не каша из php и html кода. Все настройки вы храните в файлах, а не в базе. Ваш проект легко переносить из одного сервера на другой. В наличии всегда миграции, которые позволят развернуть проект с нуля за пару минут в любом месте. Все маршруты к страницам хранятся в файле роутов, а не в базе. Другими словами, вы полностью сосредотачиваетесь на процессе разработки и осуществления ваших задумок. Сам framework не будет вас заставлять делать только так или этак. Но вам придется следовать определенным правилам, которые логичны, адекватны и помогают улучшить и ваш код, и структуру вашего приложения.

Помимо этого, для фреймворков существуют свои готовые решения для конкретных задач, которые можно установить через composer. Очень часто можно адаптировать решения от одного фреймворка к другому. К примеру, бандлы от Симфони присутствуют практически в каждом php фреймворке. Но установить пакет/модуль/бандл и т.д. и включить его кликом мышки не получится. Придется сделать подключение провайдеров в коде, что-то настроить. В своих контроллерах подключать фасады или классы. Другими словами, разрабатывать свой код, при этом отдавая часть заботы о функционале установленным решениям.

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

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

cleverman.org

CMS или Framework? PHP Lang

Я ищу построить интернет-магазин. Тем не менее, первый вопрос, прошедший идею магазина, – это платформа. Я ранее работал с Java и PHP, и мне очень нравится PHP. Итак, мои первые соображения были Drupal или, возможно, CodeIgniter (о которых я слышал много хорошего)

На обсуждениях с друзьями они предложили Django. Но у меня нет опыта работы с Python или Django.

Так что мой вопрос: лучше ли CI или Drupal? И дальше, если не любой из них, лучше ли Django с точки зрения простоты развития и расширяемости?

Попросите вас не сделать это сражение php vs python, поскольку я ищу совет здесь. благодаря

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

Другое разъяснение: я понимаю, что Drupal – это CMS, а не структура. Единственная причина, по которой я сравнил ее с CI, – это базовая платформа – php. Возможно, лучшим сравнением было бы Joomla vs Django (но я не уверен, что пока не знаю об этом)

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

Универсальные CMS, такие как Drupal, WordPress и т. Д., Хороши, если вы планируете расширить свой интернет-магазин, чтобы предлагать другие варианты (ig форумы, блоги, мультимедийные / интерактивные материалы и т. Д.). Если вы решите выбрать этот путь, я бы предложите вам загрузить исходный код каждой CMS, которую вы сохраните, и поиграть с ним на некоторое время, и выбрать тот, с которым вы чувствуете себя наиболее комфортно, и который имеет хорошее сообщество пользователей. Потому что нет ничего худшего, кроме того, что вы застряли с чьим-то сломанным кодом, и никто не поможет вам.

Для решений электронной коммерции вы можете найти здесь много хороших проектов. Если я могу выбрать предложение, решение, которое вы можете рассмотреть, поскольку оно выглядит просто, оно написано на PHP и имеет хорошие отзывы OpenCart

Хороший, с которым я работал, – это плагин Instinct для электронной коммерции для WordPress . Мне не обязательно нравится WordPress, но этот плагин довольно хорош, и вы получите мгновенный доступ к вашему интернет-магазину. Плагин также позволяет вам легко кодировать новые пользовательские платежные шлюзы (только один файл для кодирования …)

CI и Django – это рамки, которые помогают вам создавать веб-приложение с нуля, если вы готовы это сделать – идите и попробуйте. Там должно быть много доступных модулей, которые позволят вам легко расширить рамки.

Drupal однако является CMS, поэтому он поставляется с несколькими уже установленными плагинами и может управлять вашим контентом. Вам все равно необходимо разработать функциональность «магазина» – оплата, листинги и т. Д. – самостоятельно.

Если CMS отлично подходит вам сейчас и в будущем, то CMS, в противном случае – каркас. Эта структура позволит вам получить полную свободу по цене времени, затрачиваемого на разработку

Вы читали и слышали о JOOMLA, я думаю, что это очень мощная CMS в php, а также много поддержки сообщества. В java LifeRay – хороший вариант.

Я бы использовал только фреймворк, если требования не могут быть сконструированы в существующую CMS. Я бы использовал CMS через корзину покупок, если бы коммерческий аспект был относительно тривиальным. Я удивлен, что вы не рассматриваете корзину с полки. Открытая корзина довольно расширяема, и у Trading Eye есть хороший компонент CMS.

В общем, я бы посоветовал придерживаться языка, который вы знаете для важных проектов, хотя мне нравится Python как язык гораздо больше, чем PHP, а Django – хорошая структура.

Drupal – это не только фреймворк, но и CMS. Вы можете создать интернет-магазин с некоторыми модулями ( Ubercart ), поэтому я бы рекомендовал попробовать это и посмотреть, подходит ли решение для ваших нужд.

Я предлагаю вам посмотреть репозиторий модулей Drupal – в частности, в группе электронной коммерции: http://drupal.org/project/modules?filters=tid:104&solrsort=sis_project_release_usage%20desc

Их тонна может помочь вам ускорить этот проект.

Если вы знаете PHP и хорошо разбираетесь в HTML / CSS / JS, вы тоже должны делать OK в Drupal.

Выберите Django, если вы хотите изучить Python / Django и использовать их в своих будущих проектах. Django классный, и вам будет интересно изучать Python. И вы сможете принять обоснованное решение для своего следующего проекта.

Однако, если у вас есть бюджет / таймфрейм или вы хотите сделать этот проект вне дома, не изучая новую структуру, я бы предложил выбрать инструмент / язык, с которым вы знакомы.

The Bricksett CMS создаст для вас веб-сайт, но вы также можете изменить его с помощью PHP для дополнительной функциональности. Измените свой CSS для лучшего внешнего вида. Макет также прост, но у него есть дизайн, отличный от других CMS.

Новое дополнение к CMS с открытым исходным кодом

У Yahoo есть что-то вроде специализированной CMS для интернет-магазинов под названием Yahoo Stores. Они упрощают создание интернет-магазина и предоставляют другие логистические услуги. Вы можете взглянуть на это. Конечно, они берут небольшой процент от ваших продаж.

ruphp.com

CMS или FRAMEWORK? / СТАТЬИ / IBRAIN. Экспертное агентство

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

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

Бесплатные CMS не подходят для серьезного бизнеса

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

Готовые системы управления контентом «тяжелые», а сайты, написанные с нуля, «легкие»

Отчасти это утверждение верно. Но только отчасти. При небольшом объеме данных любой сайт будет показывать достаточно хорошие показатели, но при росте данных и посетителей оптимизация будет занимать все больше сил и времени. Связано это с архитектурой заложенной в коробочные решения.

Преимущества CMS:
Недостатки:
Стоимость решения

Мы считаем, что не стоит принимать решение, исходя из стоимости лицензии, т.к. она растворится в общих затратах на содержание и развитие проекта.

ibrain.pro

CMS или Фреймворк

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

CMS

CMS – расшифровывается как Content management system, что дословно переводится, как “Система управления содержимым”. CMS часто называют “движком сайта”. Представляют они собой комплексное решение, имеющие в себе множество готовых модулей и шаблонов, что часто отпугивает заказчика. И этому есть объяснение. Начинающие разработчики не имеющие большой багаж знаний создают на CMS простые шаблонные сайты, которые уже давно всем приелись т.к не имеют индивидуальности, не отвечают требованиям заказчика и не приносит желаемого результата. Поэтому бытует мнение, что сайт на CMS – это шаблон.

Но не нужно ставить на CMS крест. При грамотном подходе и умении обращаться с данным инструментом можно создавать сложные проекты, которые по многим параметрам не уступят сайту на фреймворке. В портфолио нашей студии есть несколько «живых» примеров: http://bk-n.ru/, http://chaihona.online/.

Плюсы использования CMS:

Минусы использования CMS:

Популярные представители: Drupal, WordPress, Joomla, DLE, UMI.CMS, MODx.

Фреймворк

Фреймворк – это платформа, облегчающая разработку и объединение разных компонентов большого программного проекта. Эта платформа подходит для создания сложных сайтов, бизнес-приложений и веб-сервисов. По большому счету это основа, не имеющая ни каких дополнительных функций и модулей.

Плюсы использования фреймворков:

Минусы использования фреймворков:

Популярные представители: Yii, Zend Framework, Symfony, Laravel, Phalcon, Codeigniter, Kohana.

Мы рассмотрели все плюсы и минусы, как CMS, так и Фреймворков. Решение всегда остается за вами, но прежде чем окончательно определиться с «движком» для сайта, рекомендуем вам посоветоваться с профессионалами. Возможно для реализации задуманного проекта нет смысла использовать фреймворк или тем более писать сайт с нуля, который обойдется дороже. Либо наоборот масштаб проекта такой, что CMS для него не подойдет и логичнее будет использовать фреймворк. Web-студия PressF1 всегда готова предложить Вам оптимальное решение поставленной задачи.

29 сентября 2016

pressf1.ru


Prostoy-Site | Все права защищены © 2018 | Карта сайта