Я на начальной стадии разработки системы, которая по сути будет разделена на две части. Одна часть является службой, а другая - интерфейсом со службой, предоставляющей данные через что-то вроде OData или XML. Приложение будет основано на архитектурном шаблоне MVC. Для представлений мы рассматриваем возможность использования XSLT или Razor в ASP.NET.
XSLT или Razor помогут разделить проблемы, когда исходный XML или ответ представляет вашу модель, XSLT или «Razor view» представляет ваше представление. Я оставлю контроллер для этого примера. Первоначальное проектное предложение рекомендует XSLT, однако я предложил использовать вместо него Razor в качестве более дружественного механизма просмотра.
Вот причины, которые я предложил для Razor (C #):
- Проще работать и создавать более сложные страницы.
- Может легко производить вывод не-ML, например csv, txt, fdf
- Менее подробные шаблоны
- Модель представления строго типизирована, где XSLT должен полагаться на соглашение, например, логические значения или значения даты
- Разметка более доступна, например, nbsp, нормализация новой строки, нормализация значений атрибутов, правила пробелов
- Встроенный помощник HTML может генерировать код проверки JS на основе атрибутов DTO
- Встроенный HTML-помощник может генерировать ссылки на действия
И аргументы для XSLT над бритвой были:
- XSLT является стандартом и будет существовать еще много лет в будущем.
- Трудно случайно переместить логику в поле зрения
- Легче для не программистов (с которыми я не согласен).
- Это было успешным в некоторых наших прошлых проектах.
- Значения данных по умолчанию закодированы в HTML
- Всегда хорошо сформирован
Итак, я ищу агенты с обеих сторон, рекомендации или какой-либо опыт, делающий подобный выбор?