Mvc asp net cms: Какие сейчас есть ASP.NET MVC CMS? — Хабр Q&A

Puck CMS — ядро ​​ASP.NET, открытый исходный код, кроссплатформенная CMS

Кроссплатформенная CMS .NET Core с открытым исходным кодом. Быстрый, масштабируемый, ориентированный на код, ненавязчивый и расширяемый, с мощными запросами и интеграцией с Lucene.

Зачем использовать Пак?

Нет ненужных абстракций, если вы уже используете asp.net core mvc, то вы будете знать, как использовать puck. Ваши страницы основаны на ViewModels, которые представляют собой просто классы, опционально украшенные атрибутами, а экран редактирования состоит из шаблонов редактора, как и в стандартном .net core mvc. Ваши бритвенные представления (если вы не используете Puck без головы) будут получать экземпляры соответствующей ViewModel в качестве свойства Model, и вы запрашиваете содержимое строго типизированным образом, используя свойства ваших ViewModels и выражения запроса.

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

Возможности

  • Можно использовать автономно или отдельно, в качестве интегрированной CMS или хранилища данных с возможностью поиска для ваших приложений

  • Предварительный просмотр в реальном времени/визуальный редактор

  • Многосайтовый — несколько корневых сайтов сопоставлены с разными доменами

  • Многоязычный — свяжите языки с узлами, чтобы вы могли, например, иметь разные корни сайтов с разными связанными языками. Это рекурсивно, поэтому при необходимости вы можете связать разные языки с узлами ниже по иерархии. каждый узел контента может также иметь переводы, открывая возможность для 1:1 и многосайтовых подходов к многоязычным веб-сайтам.

  • Настраиваемая и гибкая система рабочего процесса, позволяющая отслеживать, что необходимо сделать дальше

  • Строго типизированный дизайн — запросы данных выполняются строго типизированным способом с использованием выражений запросов и плавного API. шаблоны также строго типизированы.

  • Не так много, чтобы узнать — модели, разработанные как обычные poco, украшенные атрибутами, как вы обычно делаете с .net mvc

  • Полнотекстовый поиск — хранение данных основано на lucene, и вы можете установить анализаторы и настройки полей (анализировать, хранить, игнорировать, сохранять регистр) для каждого свойства в вашей модели

  • Пространственный поиск

  • Обрезка изображения

  • Разрешения пользователя на предоставление/отказ в разрешении на определенные действия и ограничение доступа к содержимому на основе начальных путей

  • Хуки — вы можете преобразовывать данные до того, как они будут проиндексированы, используя атрибуты для изменения того, как поле индексируется и как оно хранится

  • Поддерживает условное переключение шаблонов (режимы отображения были удалены из ядра asp. net, но это работает так же)

  • Перенаправления — вы можете управлять обоими сопоставлениями перенаправления 301/302

  • Работает в средах с балансировкой нагрузки

  • Кэширование — настраиваемое кэширование вывода. (для каждого типа узла или для всех. Также поддерживает явное исключение для любого конкретного узла)

  • Оптимизированный конвейер — быстрый поиск данных

  • Мультимедиа — мультимедиа обрабатывается так же, как и любой другой контент, вы можете открыть свойство IFormFile в любой из ваших моделей, и оно будет правильно привязано. затем вы можете использовать атрибуты преобразователя данных, чтобы решить, что должно произойти с этим файлом, прежде чем произойдет индексация. есть два включенных преобразователя, которые сохраняют ваши изображения в локальной файловой системе или загружают их в хранилище BLOB-объектов Azure 9. 0003

  • Task API — поддерживает одноразовые и повторяющиеся фоновые пользовательские задачи с редактируемыми параметрами

  • Запланированная публикация

  • Синхронизация содержимого между базами данных (например, подготовка к производству)

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

  • Поддерживает сервер sql, sqlite, mysql, postgresql

Сравнение ASP.NET с опциями CMS и другими технологиями веб-разработки

Большинство изучающих языки программирования скажут вам, что C# является одним из их любимых, потому что код более точен и кажется немного более простым для изучения по сравнению, например, с Java. Самая главная причина, по которой C# стал таким популярным языком программирования, заключается в том, что он является частью ASP. NET, которая является развивающейся платформой разработки контроллера представления модели (MVC), известной как Visual Studio.

Visual Studio — это интегрированная среда разработки (IDE), позволяющая создавать и компилировать приложения ASP.NET для Windows, веб-сайты, веб-службы, веб-приложения и мобильные приложения.

Почему вы предпочитаете ASP.NET CMS?

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

Для крупных корпоративных приложений ASP.NET резко сокращает длину кода, который необходимо написать, чтобы сделать то же самое на других языках программирования, таких как Java. В отличие от моделей CMS, таких как WordPress, ASP.NET использует функции проверки подлинности и безопасности Windows. Для WordPress требуется подключаемый модуль и множество дополнительных настроек аутентификации и дополнительных настроек безопасности. Развертывание CMS часто зависит от вашей среды хостинга и предоставляемых там функций, тогда как Visual Studio предоставляет среду WYSIWYG с элементами управления сервером с перетаскиванием. Код ASP.NET выполняется и доставляется с сервера, а не в браузере, а процессы управляются и отслеживаются средой выполнения, что позволяет вашему приложению легко обрабатывать несколько запросов.

Однажды я работал над большим приложением ASP.NET, которое работало очень медленно при высокой нагрузке пользователей. Это оказалось такой проблемой, что компания решила отказаться от платформы и вместо этого использовать совершенно другую технологию. Но это было 5 или более лет назад, и современные версии ASP.NET интегрируются с ADO.NET и рекламируют настоящие возможности масштабируемой корпоративной платформы. С тех пор многие крупные компании приняли ASP.NET для своей корпоративной веб-архитектуры; JCPenney, Costco, Bing, Bestbuy, Dell и Lego, и это лишь некоторые из них.

Почему вы предпочитаете CMS вместо ASP.NET?

Одним из главных аргументов против ASP.NET является то, что ваши веб-сайты должны быть развернуты на сервере Windows, что может быть дорогостоящим. Большинство платформ CMS работают на сервере стека LAMP, который основан на Linux, имеет открытый исходный код и является бесплатным. Еще один аргумент против ASP.NET — время разработки. CMS поставляется со многими уже встроенными функциями и модулями. А поскольку платформы CMS более популярны, большое количество разработчиков продолжают работать над подключаемыми модулями и модулями для добавления новых веб-технологий и функций к существующим платформам CMS.

Варианты выбора системы управления содержимым (CMS) постоянно расширяются по мере того, как разработчики компилируют новые, а некоторые из них даже основаны на технологиях ASP.NET. Преимущества CMS могут включать в себя такие функции, как встроенная проверка подлинности и безопасность, богатый набор инструментов, который можно легко добавить в любое приложение, простое развертывание, широкий набор подключаемых модулей для добавления функций, совместимость и доступ к API и большинство прежде всего, возможность для непрограммистов самостоятельно развертывать контент.

Последняя причина является одной из самых веских причин для выбора CMS вместо ASP.NET. Если вы разрабатываете веб-приложение для компании, которая надеется производить и публиковать собственный контент без помощи разработчика, то CMS — лучший выбор. Вы можете создать свою собственную CMS с ASP.NET, но с таким количеством уже созданных вариантов CMS, а некоторые из них очень зрелые с богатыми функциями, зачем вам изобретать велосипед, если, конечно, ваш онлайн-продукт полностью уникален для всего, что есть уже сделано.

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

Какие системы управления контентом наиболее популярны и почему?

Список основных платформ CMS длинный и растет с каждым днем. Вот некоторые из самых популярных;

·        WordPress

·        Drupal

·        Umbraco

·        Google Sites

·        Expression Engine

·        Joomla

·        SilverStripe

·        TextPattern

·        RefineryCMS

·        Jekyll

·        Ghost

·        ModX

·        Бетон5

Что касается самого популярного, это действительно зависит от того, кого вы спросите. Кажется, все согласны с тем, что WordPress имеет самую большую долю рынка, однако вы найдете статьи, в которых утверждается, что WordPress занимает только 30% рынка веб-сайтов, в то время как другие сайты сообщают, что он превышает 60%, но какую бы статью вы ни читали, WordPress является явным победителем.

Drupal был широко принят и разработан правительством США, и поэтому он является одной из самых безопасных платформ CMS с множеством встроенных функций аутентификации, отличной производительностью и масштабируемостью с очень большими базами данных и запасами активов. Drupal используется даже Библиотекой Конгресса для быстрого поиска и хранения правительственной документации всех видов.

Помимо LOC существует множество других крупных агентств и компаний, использующих Drupal; Twitter, Белый дом, NBC, Гарвард, Tesla и Mercedes-Benz, и это лишь некоторые из них.

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

Почему так много компаний выбирают WordPress в качестве своей CMS?

Многие крупные компании используют корпоративные веб-сайты на WordPress; PlayStation, BBC America, TechCrunch, MTV Network, Sony, Bloomberg, Disney, The New Yorker и Microsoft News Center, и это лишь некоторые из них. Я предполагаю, что Microsoft News Center, вероятно, в ближайшем будущем перейдет на что-то вроде Umbraco. Кажется ироничным, что они не потребовали бы, чтобы все их собственные компании работали на платформе ASP.NET в качестве обычной деловой практики.

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

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

Каковы недостатки WordPress?

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

В общем, современные версии WordPress теперь имеют почти столько же функций безопасности, как и Drupal, но, поскольку он с большей вероятностью будет атакован, эти уязвимости следует учитывать для корпоративных приложений. Однако их можно преодолеть с помощью доступных плагинов, что делает WordPress таким же безопасным, как и любые другие платформы CMS, такие как Drupal. И хотя WordPress также имеет встроенные элементы управления аутентификацией, они не очень настраиваемые. Если у вас много разных редакторов и администраторов, то плагин, скорее всего, потребуется настроить и настроить для вашего приложения WordPress.

Скорость сайта с WordPress может стать проблемой в больших приложениях, если не следовать жестким рекомендациям по оптимизации. Все активы, такие как видео и изображения, должны быть оптимизированы перед развертыванием и никогда не должны напрямую загружаться в базу данных WordPress. Сеть доставки контента (CDN) обязательна для любого веб-сайта WordPress среднего и крупного размера.

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

В чем преимущество C# в среде ASP.NET?

Преимущество ASP.NET в том, что он использует архитектуру контроллера представления модели (MVC). Это сильно разделяет код вашего сайта на три отдельных сегмента; модель (ваша база данных — то, что пользователь запрашивает и часто редактирует), представление (то, что пользователь видит в интерфейсе веб-страницы) и контроллер (код, который изменяет/редактирует модель/базу данных). Разделение этого кода упрощает совместную работу больших команд. Одна команда разработчиков может сосредоточиться на пользовательском опыте (UX) и пользовательском интерфейсе (UI), в то время как другие команды могут добавлять и развивать базу данных, а также функции для обслуживания и редактирования этих данных.

Хотя многие языки программирования могут быть интегрированы в приложение ASP.NET, C# стал широко популярным, поскольку он менее сложен, чем некоторые другие языки программирования, и позволяет создавать функции с меньшим объемом кода, чем другие языки, такие как Java.