Причины использования XSL при наличии шаблонов Razor - PullRequest
5 голосов
/ 22 марта 2012

Есть ли веские причины для продолжения использования шаблонов XSL сейчас, когда существует шаблонизатор Razor?

Из того, что я видел:

  1. У движка шаблонов Razor есть синтаксис, более близкий к C # (или VB), который вы уже используете для написания серверного кода, тогда как шаблоны XSL имеют XML-подобный синтаксис, который требует от разработчика изучения хотя бы основ XML ,
  2. Вы можете работать непосредственно с существующей объектной моделью без необходимости сначала преобразовывать ее в XML.
  3. Microsoft поддерживает только XSL версии 1.0, поэтому кажется, что вы ограничены в том, какие функции вы можете использовать в XSL.

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

Обновление

В моей текущей ситуации я беру данные из базы данных и преобразую их в XML исключительно , чтобы затем использовать XSLT для преобразования их в действительный HTML, который затем отображается для пользователя. С моей точки зрения, было бы более практичным преобразовать непосредственно в объектную модель, которая затем будет использоваться из шаблонов Razor. Лично я чувствую, что было бы легче поддерживать и задействовать меньше кода, чем мой текущий процесс. Тем не менее, я пытаюсь дать XSLT шанс встряхнуться перед тем, как принять поспешное решение перейти с XSLT на Razor, и хотел бы провести более прямое сравнение между ними. ( Примечание: это не тот процесс, который я выбрал, а тот, который мне сказали использовать. )

Опять же, пожалуйста, постарайтесь не отклоняться слишком далеко от точки. Моя цель - провести техническое / практическое сравнение XSLT и Razor, чтобы я мог определить, какая технология лучше всего подходит для моей ситуации.

Ответы [ 3 ]

6 голосов
/ 22 марта 2012

Я работал в организации, которая в значительной степени опиралась на XSL при разработке приложений на основе форм ASP.NET.Когда они перешли на MVC / Razor, XSL был полностью отброшен.Главным образом по причинам 1 и 2, которые вы перечислили.С точки зрения обслуживания было проще использовать Razor, потому что новые разработчики, входящие в организацию, могли бы легче использовать Razor, чем XSL, и, скорее всего, уже обладают навыками Razor, а не XSL.Преобразование назад и вперед между объектами и XML требует намного больше кодирования, а также работа с объектами позволяет использовать InteliSense, что, я считаю, является большим приростом производительности.Я также добавил бы, что использование Razor проще в отладке, и это более чистый и более лаконичный синтаксис.

1 голос
/ 23 марта 2012

Ну, во-первых, есть много людей, для которых решение, тесно связанное с одной платформой, не является стартовым, либо потому, что они не используют эту платформу, либо потому, что не хотят быть привязанными к ней.,Ваше предположение, что C # / VB - это «то, что вы уже используете для написания серверного кода», безусловно, применимо только к очень небольшой части вашей аудитории.

Тогда есть люди, которые оценили преимущества, которые даетдекларативный подход высокого уровня, основанный на правилах, а не соблазняемый привычным процедурным кодированием низкого уровня.И, конечно, те, кому процедурное кодирование вообще не знакомо.

Согласны, перемещение между объектами и XML может быть проблемой.Для многих людей ответ заключается в том, чтобы не допустить попадания ваших данных вблизи объектов.XSLT (вы предаете свое невежество, называя его XSL) работает лучше всего, когда вы обязуетесь использовать технологии на основе XML для написания всего вашего приложения, при этом C # или Java используются только для сантехники.

Но выбор языков всегда будетбыть делом вкуса.Люди редко принимают объективные обоснованные решения.Мода преобладает;очень часто подход с наименьшим риском для нового проекта заключается в использовании того, что вы знаете лучше всего.

0 голосов
/ 22 марта 2012

Не зависит ли это от вашей проблемы? Мы используем XSLT для преобразования документов сообщений XML, которыми обмениваются различные системы.

Обычно наш XLST выполняется на движке Java EE.

Так что мы не где-нибудь рядом с прецедентами использования MVC / Microsoft. По общему признанию я только кратко посмотрел на Razor, но казалось бы, это имеет мало отношения к нашей проблемной области.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...