Использование CMS для разработки веб-приложения - PullRequest
2 голосов
/ 21 августа 2009

Целесообразно ли вообще использовать Joomla или Drupal для разработки чего-либо, кроме брошюры или блога? Являются ли структуры модулей / расширений достаточно гибкими для разработки веб-приложений, которые имеют много возможностей для ввода данных и создания отчетов, или вам просто лучше разработать его с использованием инфраструктуры MVC, ASP.NET или просто обычного PHP?

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

  • Первичный ввод данных включает ввод пользователя в физические характеристики и расы для всех своих лошадей.

  • Доступны отчеты для поиска статистики и других метрик, основанных на физических атрибутах и ​​гоночных записях для всех лошадей в базе данных: пользователей и того, что ввели другие.

Каковы причины или преимущества использования этого в CMS?

Ответы [ 2 ]

5 голосов
/ 21 августа 2009

Я делаю это все время с проприетарной CMS. Я уверен, что можно написать любой плагин / подсистему для drupal и т. Д.

Преимущества:

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

Недостатки:

  • Несущий «вес» CMS. Возможно, в нем есть таблицы, объекты и подсистемы, которые вы никогда не будете использовать.
  • Большая база кода. Более крутой курс обучения для сопровождающих, которые теперь должны понимать CMS и вашу бизнес-логику.
  • Зависимость от базовой CMS. По крайней мере, ваши контроллеры (и, возможно, уровень персистентности) будут связаны с тем, как это делает CMS. Постарайтесь сохранить свою модель и бизнес-логику независимыми от среды MVC CMS.
4 голосов
/ 21 августа 2009

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

  • Управление пользователями (вход в систему, обработка забытых паролей, страницы пользователей и т. Д. - CMS обычно поставляется с «готовым к использованию»)
  • Templating (CMS обычно обеспечивает хорошо зарекомендовавший себя шаблонизатор)
  • «Окружающие» страницы (помимо ваших основных форм / страниц отчетов у вас, вероятно, будет довольно много других страниц, которые легко создавать / управлять ими с помощью CMS)
  • Безопасность (Хорошая CMS предоставит вам множество API-интерфейсов, связанных с безопасностью, чтобы упростить предотвращение внедрения SQL, XSS и других проблем безопасности, например, при генерации и обработке форм)
  • Абстракция базы данных (хорошая CMS должна обеспечить это для вас)
  • Диспетчеризация на основе URL (хотите сами управлять своим URL-пространством?)
  • и т.д.

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

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

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

...