DNN vs Composite C1 - Pro и Cons
Я потратил несколько часов на изучение некоторых решений CMS для нового бизнеса моего клиента... В конце концов, я принял во внимание эти два: DotNetNuke и Композитный C1.
Я знаю, что все они имеют множество функций, множество возможностей и т.д.
Что я хотел бы знать:
-
есть кто-нибудь из .NET, который работал с обоими из них? (если да, можете ли вы поделиться своим мнением - PRO и CONS?)
-
если по какой-то причине мне нужно добавить какой-то новый код ASP.NET(для некоторых пользовательских вещей), какой из этих двух лучше для этого?
Ответы
Ответ 1
Вы должны обязательно пойти с Composite C1. Я много лет использую DotNetNuke и очень разочарован из-за его ограничений.
Ниже я подвел итоги того, что, по моему мнению, является лучшим/худшим для обеих продуктов CMS (примечание: прошло два года с момента создания сайта DNN, поэтому я не знаю, было ли какое-либо улучшение):
PROS для DNN
- Элемент списка
- ОЧЕНЬ простой интерфейс администрирования.
- Можно редактировать страницы напрямую, просто нажав на контент, когда вы вошли в систему.
- Огромная база пользователей/разработчиков - доступно множество модулей расширения. Многие из них бесплатно.
CONS для DNN
- Простота в DNN в основном является корнем для всех минусов;
- Трудно расширить - вам нужно разрабатывать пакеты для DNN с помощью специализированного кода или создавать пользовательские элементы управления в файлах .NET(.ascx).
- Сложно для кожи.
- Много накладных расходов, связанных с файлами AJAX веб-форм (100+ кб без сжатия)
- Нет встроенных хороших URL-адресов (но легко найти расширения, позволяющие использовать хорошие URL-адреса)
- Опирается на SQL-базу данных (= дополнительные затраты)
PROS для C1
- Простая установка и настройка.
- Может работать только в файловой системе (и легко обновляться до поддержки SQL).
- Встроенный менеджер пакетов с простыми в установке расширениями.
- Поддержка MVC, XSLT, Webforms и лучших: синтаксис Razor!
- Специализированный код может быть легко разработан благодаря отличному API.
- Отличная поддержка шаблонов. Может быть сделано очень простым и очень продвинутым в зависимости от ваших навыков.
- Хорошие URL-адреса в выпусках 3.0.
- Простота настройки поддержки нескольких сайтов.
- Поддержка Windows Azure вне поля.
CONS для C1
-
На основе XML для хранения данных (может возникнуть проблема, если сервер неожиданно отключился и т.д. - я этого не испытал)
- Многие функции в бэкэнд могут быть немного подавляющими.
- Backend занимает довольно много времени, потому что он построен как webapp.
- Не такая большая пользовательская база, как DNN
Bottomline; Композитный C1 намного лучше, чем DotNetNuke. Специально, если вы хотите добавить собственный код/функциональность.
Если вам нужна еще больше функциональности и более зрелая CMS, чем Composite C1, вы должны взглянуть на Umbraco. Он с открытым исходным кодом, как C1 и, конечно, развит великими датчанами;)
Ответ 2
У меня довольно многолетний опыт работы с DotNetNuke.
Избегайте этого любой ценой. Я серьезно.
Изменить: поскольку меня спрашивают о моих причинах этого смелого заявления, я постараюсь предоставить их.
В компании, в которой я работал, было около 300 клиентов по DNN. Многие из них были довольно крупными корпорациями. У меня много опыта с DNN.
Прежде всего, DNN пронизана ошибками. Ошибки, которые никогда не исправляются. Вместо этого, ребята, стоящие за DNN, похоже, больше беспокоятся о внедрении новых функций, чем обеспечении стабильности. Я лично отправил лодку отчетов об ошибках в свой трекер. Сколько было исправлено? Практически нуль. В большинстве случаев я даже нашел время, чтобы предоставить патч! Но безрезультатно. Когда они перешли на С#, они просто закрыли большинство открытых проблем, потому что их лени начали укусить их в задницу. "Чтобы лучше управлять и оценивать проблемы для исправления, любая проблема, которая не имела активности, зарегистрированной до 1 января 2011 года, будет автоматически закрыта". (См. здесь)
Я был укушен столькими ошибками в те годы. Это был довольно неприятный и неудовлетворительный опыт.
Во-вторых, новые функции обычно проблематичны и ошибочны. DNNCorp также часто решает, что эти новые функции не так важны и впоследствии оставляют их для новых функций. Например, их модуль таксономии имеет некоторые серьезные проблемы при настройке нескольких порталов и попытке использовать общедоступные словари. Насколько мне известно, это еще не исправлено. Их API-интерфейс MetaData/ContentItem/ContentType имел серьезные проблемы в течение длительного времени и, вероятно, все еще имеет. Он даже не использовался ни для чего, даже для того, чтобы он мог облегчить некоторые проблемы, которые я описываю позже (архитектура).
В-третьих, их документация просто отстой.
Что еще более важно, я думаю, что архитектура DNN довольно устарела. Он несет много старого багажа. Их подход на вкладке/модуле очень затрудняет создание структурированного контента и делает отношения между элементами контента. Как только вы пытаетесь создать сложные веб-сайты, он падает на нос. Не только с точки зрения программиста, но и с точки зрения администратора контента.
Общее впечатление, что эти люди: а) не очень хорошие программисты и б) не знают, что они делают.
Ответ 3
Я работал с системами CMS (и многими другими), и я рекомендовал бы использовать Composite C1.
В моем опыте намного легче учиться и намного быстрее быть продуктивным в Composite C1. Пользовательский интерфейс намного лучше (красивее и удобнее понимать). На их сайте у них много хороших ресурсов. В моем POV самая мощная функция Composite заключается в том, что вам не нужно беспокоиться о datalayer - вы просто создаете свои типы данных как классы или в графическом интерфейсе, а "ORM" просто заставляют все это происходить. То есть, если вам даже нужны типы данных (изменения у вас нет, если это простой сайт).
Они оба свободны и с открытым исходным кодом. У DotNetNuke есть намного больше модулей, которые вы можете купить у сторонних разработчиков, но у Composite C1 все еще есть много чего вам нужно.
Легче разрабатывать новые модули в Composite только из-за концепции "ORM".
Единственный недостаток, который я могу придумать, когда сравниваю это с системами, - это то, что функциональность экстрасети (зарегистрированная пользователями, которые не являются админами) встроена в DotNetNuke. Это модуль, который вы должны купить из Composite или разработать самостоятельно.
Ответ 4
Композитный C1 лучше всего подходит для пользовательских функций и высокой гибкости. Я использую его в течение нескольких недель, и мой сайт, наконец, будет запущен и запущен из-за этого. Короткая кривая обучения (говорит сама за себя), но все же очень надежная и гибкая. Любите его, потому что вы можете использовать Razor с ним.
DotNetNuke по-прежнему использует WebForms, и хотя он получил огромную базу пользователей, но он несколько устарел.