Каковы преимущества использования XSL в Sitecore вместо C #? - PullRequest
9 голосов
/ 14 января 2011

При изучении Sitecore я обнаружил, что большая часть примера кода Sitecore в Интернете находится на XSL вместо .NET.

В чем преимущество XSL по сравнению с процессами, к которым я привык как разработчик .NET?

Есть ли преимущества в скорости обработки при использовании XSL?

Действительно ли XSL проще, когда вы освоитесь с синтаксисом?

Ответы [ 6 ]

7 голосов
/ 17 января 2011

Я просто добавлю свои 2 цента тоже:

Я считаю, что в XSLT слишком много ограничений, которые необходимо преодолеть либо с помощью внешних "библиотек", либо с помощью разработки метода на C #, который можно использовать в XSLT.

Так что я считаю использование Asp.Net проще. Но и с Asp.Net мне намного лучше, чем с XSLT.

Но у XSLT есть несколько хороших вещей:

  • хорошо при получении полей из текущего элемента контекста
  • хорошо с простым контентом и т. Д.
  • не заставляет решение перерабатывать / перестраивать
  • как правило, это хороший способ потерпеть неудачу, т.е. страница все еще работает, но xslt, который потерпел неудачу, говорит, что это терпит неудачу

Когда я впервые начал работать с Sitecore, моя компания использовала довольно много XSLT, но мы постепенно отошли от этого из-за его ограничений и потому, что большинство людей здесь больше знакомы с Asp.Net/C#.

3 голосов
/ 21 января 2011

«Таким образом, основная цель проектирования и кодирования программного обеспечения - это преодоление сложности. Мотивация многих практик программирования заключается в уменьшении сложности программы. Уменьшение сложности является ключом к тому, чтобы быть эффективным программистом».Стив Макконнелл (1993)

Пусть это поможет, когда использовать XSLT над C #.

3 голосов
/ 17 января 2011

Единственное реальное преимущество, о котором я могу подумать, это то, что XSLT-рендеринг легче развертывать в изоляции.Скажем, например, что вы обновляете рендеринг «News Spots» и хотите сразу же развернуть это изменение для тестирования / производства - это будет простой случай загрузки самого файла .xsl.

Используя разработку .NET (и устойчивую модель проекта веб-приложения), развертывание базы кода неявно развернет любые изменения всех затронутых сборок, включая любую работу, которую вы выполняете.

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

При этом я использую .NET для более чем 95% всех моих разработок Sitecore самостоятельно: -)

3 голосов
/ 15 января 2011

Выбор между компонентами XSLT и .Net в Sitecore в значительной степени зависит от вкуса и навыков.XSLT в Sitecore имеет некоторые недостатки: он, как правило, превосходит компоненты .NET для всех, кроме самых простых визуализаций, и места, где его может показаться наиболее логичным, такие как репликация структуры дерева контента в качестве меню сайта,на самом деле те, которые, как правило, берут наибольший удар по производительности.В правильных ситуациях XSLT является невероятно мощным инструментом, который стоит изучить, но мне еще предстоит увидеть убедительный аргумент в пользу его широкого использования в Sitecore.Стоит также отметить, что некоторые стандартные шаблоны программирования XSLT не являются наиболее эффективными в Sitecore.

3 голосов
/ 15 января 2011

XSLT - мощный язык;его основные преимущества перед такими языками, как ASP.NET, имеют тенденцию появляться, когда вы хотите повторно использовать и настраивать логику для широкого спектра различных страниц или различных структур исходного документа с общими общими элементами и другими структурами переменных.Чтобы достичь этого, он использует модель обработки на основе правил, с которой некоторым людям довольно сложно разобраться при первом столкновении.Обучение - это инвестиция, которая со временем окупится, но поначалу это может быть пугающим.

Что касается производительности, мне никогда не приходилось сталкиваться с сайтом, где он недостаточно быстр для работы, и в него входят довольно сложные службы;когда у людей возникают проблемы с производительностью, они обычно оказываются в других частях конвейера обработки (или просто из-за плохого кодирования).

3 голосов
/ 15 января 2011

Некоторые люди предпочитают XSL из-за существующего командного навыка, наличия таланта XSL или убеждения, что XSL легче или дешевле освоить.

В Sitecore подслои на основе ASP.NET на самом деле работают намного лучше, чем XSL-рендеринг. Если это то, что вам удобно, пойти на это. Я никогда не создавал XSL-рендеринг сам.

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