Iron Python vs Razor

时间:2010-10-12 16:15:36

标签: python ironpython razor

我对使用新的Razor语法有一点经验,但没有使用Iron Python的经验。我想知道两者是否满足相同的需求?微软是否会优先于其他(或将会)?欣赏你的想法,因为我正在学习学习Iron Python的想法,但如果Razor能满足同样的需求,我可能不会。

3 个答案:

答案 0 :(得分:7)

扩展PaulStack给出的答案:

Razor是一个模板引擎(倾向于模仿XML风格的文档,例如HTML网页),它可以作为MVC 3中的View Engine以及ASP.NET Web Pages中的默认页面语法(这是WebMatrix堆栈的一部分)。 Razor解析器使用关于XML文档结构的假设以及两种支持的编程语言(C#和Visual Basic)中可用的构造,以最小化在代码模式和标记模式之间所需的转换字符数。

虽然它的编写重点是发布HTML,但它已被推广为支持任意文本模板化任务(尽管在某些情况下,您可能需要使用特殊的过渡令牌来强制在代码和文本之间切换)。

另一方面,IronPython是一种编程语言。它不是模板引擎,但它自然可以用来编写发出文本流的代码。

如果您已经熟悉C#(或VB),那么我建议您尝试使用Razor。它是语言语法的一个相当简单的扩展,允许在标记和代码之间进行非常平滑的转换。

答案 1 :(得分:5)

Razor是ASP.NET MVC 3的视图引擎 - 所以我认为它与IronPython占用的空间无关

如果我错了,那么我肯定错过了一些东西

答案 2 :(得分:1)

我在IronPython和IronRuby工作的一个人的谈话中。他似乎表达的一般情绪是,IronPython不像IronRuby或C#那样能够建立现代ASP.NET MVC网站。也就是说,从那时起,这可能会有所改变。

但你在这里比较苹果和橘子。 IronPython是一种成熟的动态语言。 Razor只是一个用于在ASP.NET MVC站点中定义视图的标记语言和视图引擎。控制器和应用程序的大部分代码仍然必须用实际语言(例如C#,Python等)编写。