Я искал в SO & Google информацию о различных движках представления, доступных для ASP.NET MVC, но не нашел ничего, кроме простых высокоуровневых описаний движка представления.
Я не обязательно ищу «лучших» или «самых быстрых», а скорее некоторые сравнения реальных преимуществ / недостатков основных игроков (например, стандартный WebFormViewEngine, MvcContrib View Engines и т. Д.) Для различных ситуаций. Я думаю, что это было бы действительно полезно для определения того, будет ли переключение с движка по умолчанию выгодным для данного проекта или группы разработчиков.
Кто-нибудь сталкивался с таким сравнением?
Ответы:
ASP.NET MVC View Engines (Сообщество Wiki)
Поскольку полный список не существует, давайте начнем один здесь, на SO. Это может иметь большое значение для сообщества ASP.NET MVC, если люди добавят свой опыт (особенно любой, кто участвовал в одном из них). Все, что реализует
IViewEngine
(напримерVirtualPathProviderViewEngine
), является честной игрой здесь. Просто расположите в алфавитном порядке новые View Engine (оставив WebFormViewEngine и Razor наверху), и попытайтесь быть объективными в сравненииSystem.Web.Mvc.WebFormViewEngine
Цели дизайна:
Плюсы:
Минусы:
Пример:
System.Web.Razor
Цели дизайна:
Плюсы:
Минусы:
Нет документированного API, http://msdn.microsoft.com/en-us/library/system.web.razor.aspxПример Con # 1 (обратите внимание на размещение "string [] ..."):
Bellevue
Цели дизайна:
гитов
Цели дизайна:
Плюсы:
Минусы:
Пример:
Hasic
Плюсы:
Минусы:
Пример:
NDjango
Цели дизайна:
Плюсы:
WebFormViewEngine
NHaml
Цели дизайна:
Плюсы:
Минусы:
Пример:
NVelocityViewEngine (MvcContrib)
Цели дизайна:
Плюсы:
Минусы:
Пример:
SharpTiles
Цели дизайна:
Плюсы:
Минусы:
Пример:
Spark View Engine
Цели дизайна:
Плюсы:
Минусы:
Пример:
StringTemplate View Engine MVC
Цели дизайна:
Плюсы:
Минусы:
Wing Beats
Плюсы:
Минусы:
XsltViewEngine (MvcContrib)
Цели дизайна:
Плюсы:
Минусы:
источник
Мой текущий выбор - Бритва. Он очень чистый и легко читается, а страницы просмотра очень просты в обслуживании. Есть также поддержка intellisense, которая действительно хороша. ALos, когда используется с веб-помощниками, он действительно очень мощный.
Чтобы предоставить простой образец:
И там у вас есть это. Это очень чисто и легко читается. Конечно, это простой пример, но даже на сложных страницах и формах его все еще очень легко читать и понимать.
Что касается минусов? Ну, пока (я новичок в этом) при использовании некоторых помощников для форм отсутствует поддержка добавления ссылки на класс CSS, что немного раздражает.
Спасибо Nathj07
источник
Я знаю, что это на самом деле не отвечает на ваш вопрос, но разные View Engine имеют разные цели. Спарк Просмотр двигатель , например, цели , чтобы избавить ваши взгляды «теги супа», пытаясь сделать все , свободно и читаемым.
Лучше всего было бы просто взглянуть на некоторые реализации. Если оно выглядит привлекательным для вашего решения, попробуйте его. Вы можете смешивать и сопоставлять механизмы просмотра в MVC, поэтому это не должно быть проблемой, если вы решите не использовать определенный механизм.
источник
Проверьте это SharpDOM . Это внутренний dsl ac # 4.0 для генерации html, а также механизм просмотра asp.net mvc.
источник
Мне нравится нджанго . Он очень прост в использовании и очень гибкий. Вы можете легко расширить функциональность просмотра с помощью пользовательских тегов и фильтров. Я думаю, что «сильно привязанный к F #» является скорее преимуществом, чем недостатком.
источник
Я думаю, что этот список должен также включать образцы каждого механизма представления, чтобы пользователи могли получить представление о каждом из них, не посещая каждый веб-сайт.
На рисунках написано, что тысячи слов, а образцы разметки похожи на скриншоты для движков представления :) Итак, вот один из моих любимых Spark View Engine
источник