【问题标题】:Is Microsoft pushing Spark or Razor for the future view engine for ASP.NET MVC?Microsoft 是否会为 ASP.NET MVC 的未来视图引擎推动 Spark 或 Razor?
【发布时间】:2011-01-19 17:37:10
【问题描述】:

我计划很快学习 ASP.NET MVC。我想清楚地了解我应该专注于哪个视图引擎,Spark 还是 Razor?微软在哪一个上投入了更多精力?

【问题讨论】:

  • 您的问题应该是 WebForms ViewEngine 还是 Razor ViewEngine?
  • 当我读到 MS 聘请了 Spark 的开发人员时,我想我在某个地方感到困惑。
  • 他们确实雇用了他,但没有购买他的 IP (Spark)

标签: asp.net asp.net-mvc asp.net-mvc-3


【解决方案1】:

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

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

将继续支持两种视图引擎(Razor 和 Aspx)(我们不打算弃用 WebForms),我们将确保现有 API 以及我们添加的任何新内容继续在两者中工作。也就是说,可能无法始终保持每个视图引擎的功能集相同(例如,@model 关键字在 WebForms 中没有直接的类比)。

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

最终所有选项都是有效的(尽管在my personal opinion 中,Aspx 视图引擎稍微不太有效:),您可以自行决定找到最适合您需求的选项。

【讨论】:

  • 由于其自身的特性,aspx 引擎总是会失败,或者它会被转换成其他东西,要么移除旧的支持,要么变得过于复杂而无法维护。我认为,重新创建引擎是帮助所有开发人员、保持对过去技术的支持的最有效方式。
  • 我相信这个问题与模板语言 Spark 和 Razor 都有关,而且,有时,我们不得不暴露我们的观点,隐藏在观众的眼睛之外,而不是直接展示我们的真实观点。心系全公司社会友好的立场,要么避免无助的争吵。但我们完全不理解你。还有你的观点。是的,剃须刀很棒。还有火花。和 Aspx,在它持续的时候很好。谢谢你让我的工作再次膨胀。
【解决方案2】:

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

【讨论】:

  • 写 Spark 的人目前在微软的 ASP.NET 小组工作,但他是在创建 Spark 后加入的,并且仍然作为一个单独的项目维护它
【解决方案3】:

如果您想继续使用 Microsoft 支持的视图引擎,那么您可以选择 Razor 或 WebForms。我更喜欢两者中的剃刀。 Spark 可以说是比 Razor 现在更好的视图引擎(取决于你的风格),但正如 Darin 指出的那样,它不是 MS 产品,所以我知道他们没有投入精力。

【讨论】:

    【解决方案4】:

    Razor 如果您想尽量减少视图中的代码量并且喜欢语法,那么这是最佳选择。

    WebForms 如果您对传统 ASP.NET 有丰富的经验并且喜欢背后有代码的想法,那将是很好的选择。

    Spark 不受 Microsoft 支持或编写。

    对我来说,我使用 Razor 是因为我喜欢它的语法,而且我发现我的视图更清晰。当然它比 haml 更冗长,但同时它仍然是 valid 看起来的 HTML,大多数 Web 开发人员会自然而然地接受它。

    【讨论】:

    • “如果你想尽量减少视图中的代码量,Razor 是最好的选择”,一个非常主观的陈述。看看 Spark Bindings 然后回来告诉我你是否有同样的感觉。 sparkviewengine.com/documentation/bindings
    • 我用过 Spark。我的比较主要是在 Razor 与 WebForms 上,因为这个问题是由 Microsoft 提出的,而 Spark 没有得到官方支持。在所有条件相同的情况下,我更喜欢 HAML。
    猜你喜欢
    • 2011-03-11
    • 2012-06-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-17
    相关资源
    最近更新 更多