2010-10-12 73 views
2

我對Razor的新語法有一點點經驗,但對於鐵蟒沒有一點經驗。我想知道是否都滿足相同的需求?微軟在其他方面(或者將會)是否會受到青睞?感謝你的想法,因爲我正在學習Iron Python的想法,但如果Razor能夠滿足相同的需求,我可能不會。鐵蟒vs剃刀

回答

7

爲了擴大對PaulStack給出了答案:

剃刀是一個模板引擎(與向模板XML風格的文檔,如HTML網頁傾斜)可用在MVC 3視圖引擎以及作爲ASP.NET Web頁面中的默認頁面語法(它是WebMatrix堆棧的一部分)。 Razor解析器使用有關XML文檔結構的假設以及兩種受支持的編程語言(C#和Visual Basic)中的可用構造,以最小化在代碼模式和標記模式之間所需的過渡字符數。雖然已經着眼於發佈HTML,但它已被推廣爲支持任意文本模板化任務(儘管在某些情況下,您可能需要使用特殊的過渡令牌來強制在代碼和文本之間切換)。

另一方面,IronPython是一種編程語言。它不是一個模板引擎,儘管它自然可以用於編寫發送文本流的代碼。

如果你已經習慣了C#(或VB),那麼我建議你嘗試剃刀。這是語言語法的一個相當簡單的擴展,並且允許標記和代碼之間非常平滑的轉換。

5

剃刀是ASP.NET MVC 3視圖引擎 - 所以我相信這無關與IronPython的佔用空間

,如果我錯了的話,我肯定已經錯過了一些

+0

謝謝,我看到這篇文章,它讓我想到使用Razor不僅僅是MVC的視圖引擎http://blog.andrewnurse.net/2010/07/22/UsingTheRazorParserOutsideOfASPNet.aspx因此是個問題。我知道我可以在現有的Razor代碼中包含名稱空間,所以如果它會與諸如Iron Python和Ruby的.net實現等競爭,我會感到困惑(仍然是)。 – infocyde 2010-10-12 16:57:42

1

我在IronPython和IronRuby工作人員的一次談話。他似乎表達的一般情緒是IronPython不像IronRuby或C#那樣構建現代ASP.NET MVC站點。也就是說,從那以後可能會發生變化。

但是你在這裏比較蘋果和橘子。 IronPython是一個全面的動態語言。 Razor只是一個標記語言和視圖引擎,用於在ASP.NET MVC網站中定義視圖。控制器和應用程序的大部分代碼仍然必須以實際語言編寫(例如C#,Python等)。