2010-10-12 3 views
2

У меня есть немного опыта работы с новым синтаксисом Razor, но ни с Iron Python, ни с ним. Мне было интересно, как они удовлетворяют одни и те же потребности? Поддерживается ли Microsoft другим (или будет)? Цените свои мысли, поскольку я играю с идеей изучения Iron Python, но если Razor может удовлетворить ту же потребность, я, вероятно, не буду.Iron Python vs Razor

ответ

7

Для расширения ответа, данного PaulStack:

Бритва является шаблонный движок (с уклоном в сторону шаблонных документов XML-стиле, например, веб-страниц HTML), который доступен как View Engine в MVC 3, а также как синтаксис страницы по умолчанию в веб-страницах ASP.NET (который является частью стека WebMatrix). Парсер Razor использует предположения о структуре XML-документов, а также конструкции, доступные на двух поддерживаемых языках программирования (C# и Visual Basic), чтобы свести к минимуму количество символов перехода, которые необходимы для перехода между режимом кода и режимом разметки.

Хотя он был написан с акцентом на испускание HTML, он был обобщен для поддержки задач произвольного текстового шаблонирования (хотя в некоторых случаях вам может потребоваться использование специальных токенов перехода для принудительного переключения между кодом и текстом).

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

Если вам уже удобно с C# (или VB), то я предлагаю вам попробовать Razor. Это довольно простое расширение синтаксиса языка и позволяет очень плавно переходить между разметкой и кодом.

5

Бритва вид двигателя для ASP.NET MVC 3 - так я считаю, что это не имеет ничего общего с пространством, IronPython занимающей

, если им не так, то я, конечно, что-то пропустил

+0

Спасибо, я видел это сообщение, и мне показалось, что я использую Razor больше, чем механизм просмотра MVC http://blog.andrewnurse.net/2010/07/22/UsingTheRazorParserOutsideOfASPNet.aspx, таким образом, вопрос. Я знаю, что я могу включать пространства имен в существующий код Razor, поэтому он запутался (до сих пор), если он будет конкурировать с такими вещами, как Iron Python и .NET-реализация Ruby. – infocyde

1

я был в разговор одного из парней, работающих над IronPython и IronRuby. Общее чувство, которое он, по-видимому, выражал, заключается в том, что IronPython не соответствует задаче создания современных сайтов ASP.NET MVC, таких как IronRuby или C#. Тем не менее, это могло измениться с тех пор.

Но вы сравниваете яблоки с апельсинами здесь. IronPython - полноценный динамический язык. Razor - это всего лишь язык разметки и механизм просмотра для определения представлений на сайте MVC ASP.NET. Контроллеры и большая часть кода для приложения все равно должны быть записаны на реальном языке (например, на C#, Python и т. П.).

Смежные вопросы