首页 文章

Microsoft是否推动Spark或Razor用于ASP.NET MVC的未来视图引擎?

提问于
浏览
3

我打算很快学习ASP.NET MVC . 我想清楚地了解我应该关注哪个视图引擎,Spark或Razor?哪一个是微软投入更多精力?

4 回答

  • 10

    Spark尚未由微软开发,我不会说他们已经/打算投入太多精力 . 另一方面,Razor是微软的孩子,如果你想要一个MS支持的视图引擎,那就去吧 .

  • 5

    Tony,我是ASP.NET MVC团队的开发人员之一 . 以下是一些想法:

    我们开发了Razor,因为我们觉得Aspx视图引擎有许多缺点,我们觉得我们可以做得更好(我希望人们会同意结果好多了) . 我们建议任何人开始使用新的MVC 3应用程序Razor . 任何拥有现有MVC 2应用程序且对WebForms视图引擎进行大量投资的人都必须自己进行成本/收益分析,并决定是否要切换 .

    两个视图引擎(Razor和Aspx)将继续受到支持(我们不打算弃用WebForms),我们将确保现有的API以及我们添加的任何新内容继续在两者中都有效 . 也就是说,可能无法始终将每个视图引擎的功能集保持在奇偶校验位置(例如, @model 关键字在WebForms中没有直接的分析) .

    Spark是第三方组件,它仍然独立于Microsoft(无论其创建者Louis DeJardin现在是否在这里工作) . 因此,我们目前没有为它提供任何代码(因为我们已经完全使用Razor) . 但是,我们完全致力于公开所有必要的API和扩展点以支持第三方视图引擎 . 例如,在MVC 3中,我们对New Project和Add View对话框进行了改进,以使Spark(或任何其他视图引擎,如NHaml)开发人员或社区更容易将Spark插入内置的MVC工具体验中 .

    最终所有选项都是有效的(尽管在my personal opinion中Aspx视图引擎的效果稍差:)并且您可以找到最适合您需求的引擎 .

  • 2

    如果你想保留微软支持的视图引擎,那么你的选择是Razor或WebForms . 我更喜欢两种剃刀 . Spark可以说是比Razor更好的视图引擎(取决于你的风格),但是当Darin指出它不是MS产品时,所以他们没有把能量投入到我所知道的内容中 .

  • 2

    如果您希望最小化视图中的代码量并且您喜欢语法,则 Razor 是最佳选项 .

    WebForms 如果您对传统ASP.NET有很多经验并且喜欢隐藏代码的想法,那就太好了 .

    Microsoft不支持或编写 Spark .

    对我来说,我使用Razor,因为我喜欢语法,我觉得我的观点更清晰 . 当然它比haml更冗长,但同时它仍然是有效的HTML,大多数Web开发人员会自然地选择它 .

相关问题