2010-03-02 195 views
12

最近一直在用ASP.MVC 2进行巨大的学习狂欢,最近发现有不同的渲染引擎在那里...... Spark特别引起了我的注意,几件事情。要火花还是不火花?

  1. 我与ASP.NET渊博的学识所以它是值得的斜坡上升,除了ASP.NET MVC
  2. 是否值得有什么看法?真的有关系吗?它似乎是一种真正的品味选择,而不是那么多的性能,甚至是开发者时间的大幅减少。
  3. 它仍然看起来不成熟,不是很好的智能感知支持,语法高亮支持,没有很多工具选项。它仅对MVC 2有初步支持...

你的想法是什么?我倾向于它可能不值得...

+0

#3是我不使用火花的主要原因。而且,您可以在同一个应用程序中使用这两个。 http://haacked.com/archive/2008/11/16/composing-multiple-view-engines.aspx – Omar 2010-03-03 11:30:44

回答

12

接听为了三个部分问题...

  1. 它可能是需要学习一次新的东西是个好主意。特别是因为几乎所有的MVC示例和教程都将使用WebForms语法。这就是说 - 最好是在实验解决方案中学习,而不是在“真实”项目中学习,所以在你觉得你有MVC概念之后,创建一个新的沙箱并尝试一些MVC + Spark页面是一个不错的主意。

  2. 就内存压力或处理器利用率而言,性能可能并不是除了最大的网站外最重要的考虑因素......开发人员和设计师/创意人员对时间的影响可能起初很小,但它累积和非线性。前面的一些简化将为您节省大量的痛苦,“简单,简洁的语法”是Spark视图引擎前提的基石。

  3. 这是非常真实的。抛光和细化体验是工具和现代IDE中最昂贵的部分。我认为这就是为什么大多数开放源码软件的网络堆栈从一个很棒的编辑器开始(咳嗽 TextMate 咳嗽)并从那里开始工作。借助Spark,您可以获得csharp语言智能感知,但这显然是工具支持的低水位标记。

这是轶事,但一种衡量方法是有多少人后悔使用Spark并切换回来。我不确定很多人 - 尽管在获得MVC 2支持时出现的延迟让人有些疑惑,我敢肯定。

5

在web应用程序中的MVC的好处之一是,你可以更接近HTML的裸机,这是许多开发人员碰到的主要问题之一 - 缺乏呈现的HTML的绝对控制

Spark是显著更接近裸HTML比ASP.net

一般非编程HTML设计师将有更多的了解Spark和与它一起工作比ASP.net

机会

如果这是你使用Spark的问题,否则使用什么渲染引擎你想。检查出nhaml不同的东西

8

取决于你想用ASP.NET MVC做什么。我们正在用它构建一个大型企业应用程序,我发现自己有点希望我们使用Spark。但是,这只是在我们完成了第200个观点之后,我觉得这个框架足够让人感到满意,才能考虑用其他方法来捕捉。

我会建议先用常规视图引擎创建一些小应用程序,如果您发现自己正在努力尝试“标签汤”并考虑原因。在很多情况下,这意味着你应该制作一个更好的ViewModel和映射数据,创建一个html助手,或者利用一个部分文件,而不是用标签汤填充你的视图。

但是,有时候在视图中需要有条件的和巨大的循环逻辑,并且这是您希望有Spark的时候。好的是你可以并排使用。所以我会说默认设置,一旦你感觉舒服就用它来欺骗。

4

实际上,我几个月前面对同样的选择,但对于真正的商业应用而言,并非出于教育目的。我的答案是“激发”。

当然,有一些棘手的东西,如intellisense和包括预编译。但从我的预期来看,好处更为显着。火花中的“可读性”更好。有更优雅的部分分离(再次,我的个人意见)。我还发现了更自然的网站本地化(MyView.spark,MyView.de.spark,带有自动回退功能的MyView.de-DE.spark,以及主布局的相同功能)。大量的小便利 - 最重要的是我喜欢$ {}和!{}来获取html编码或避免它。我的应用程序在预编译的中等信任下工作。

我宁愿说火花已经足够成熟,可以用于真正的发展。但不完美。

1

我知道这个问题已经回答,在Razor出来之前就被问到了,但是如果我开始一个新项目,我会选择Razor。我有一个与Spark的当前项目,我绝对同意这是一个比WebForms更好的选择。但是,由于景观已经改变,如果今天我必须做出决定,我会选择其他的东西。

原因

  • 火花的主要开发者加入了微软(可能是工作剃刀)
  • 最后的稳定版本为Spark作为当今几乎已经一年。
  • 语法非常相似
  • 大纲支持。创建网页时,能够折叠html部分是至关重要的,Razor支持这一点,而Spark则不支持。

我不认为剃刀有优先权错误。他们说剃刀的默认是代码,然后一些标记和Spark是相反的。我在一定程度上同意这个论点;这两个视图引擎的工具都有一个无代码或代码的视图。这取决于最终打出来的人。