2009-11-26 48 views
1

我正在构建一个大的asp.net Mvc项目,并且在设计者的上下文中有一个关于与MVC Spark引擎相对的默认渲染引擎的问题。ASP.NET MVC设计师的Spark视图引擎,他们喜欢吗?

我大家都赞成减少我的标签汤,可以看到火花引擎是整齐,非常整齐,我一个人会欢迎它。然而,有没有人对他们的设计团队是接受过还是反对它有经验/意见?

我的设计师团队还没有开发使用Mvc框架,所以他们要么必须学习默认或火花引擎。

任何人都可以评论?

回答

4

你是设计团队根本不需要对视图引擎有任何了解。他们只需要了解视图引擎的最终产品(即输出的HTML,CSS和Javascript)。

您的设计人员可以从简单的旧HTML和CSS制作模板,而无需看到任何一行渲染引擎代码。你只需告诉他们模板中你要注入内容的地方。

CSS/HTML模板的重点在于提供设计者和开发者之间的分离。这使得这些模板可以出现在设计商店。您不希望设计商店不得不混淆您的开发代码。

设计师还将为您提供一组文本样式:h1,h2,h3,p等。您将能够将这些样式插入渲染引擎的模板代码中的任何需要它们的位置,以实现所需的效果。如果你愿意,你可以让设计者指定一些关于这些样式的布局和使用的规则,但编写将输出呈现到设计器模板中的代码仍然是你的工作。

所以要清楚,设计师的工作是为您创建一个HTML/CSS模板(带有示例内容和样式,以便您可以充分看到布局)。您的工作是将设计人员为您提供的CSS/HTML集成到视图引擎代码中。

Spark只是C#(或VB)的HTML版本。在所有其他条件相同的情况下,Spark对于设计师来说会更容易,因为它将所有的<% { %>事情都改为HTML等效。但是,这假定设计师将为视图引擎编写模板代码,而不是他们。

+0

公平点。然而,他们确实需要知道引擎的基础知识,因为将会注入代码。问题是设计师喜欢看哪些输出,默认或点火? – Rippo

+1

什么注入代码?除HTML,CSS和Javascript之外,最终的网页中没有注入代码。 –

+0

我认为我们在这里有两种不同的波长!我的设计师需要根据实际的视图来混淆HTML的格式。当他们打开视图时,他们会看到a)大量的<%= etc或b)火花标记。我的问题是哪些对他们来说很容易。 – Rippo

2

我知道这个问题被认为是'回答',但让我从'设计师'(我们称之为前端开发人员)的角度回答。

我们有一个支持.NET MVC应用程序的后端(C#)团队和一个前端(HTML/CSS/Javascript)团队。 Spark是一种更自然的HTML视图。 Sparks通过添加'if'和'each'语句作为HTML元素的属性而不是HTML标记之外的循环来添加一种自然的方式来做ifs和循环。部分也从直观的方式调用。 <仪表板/ >将包含部分“_dashboard.spark”。

Spark使所有View标记看起来像HTML,我认为这对于可维护性来说非常重要。它还通过尽可能多地保留View标记中的逻辑来强制良好的MVC习惯。设计团队并创建HTML标记,然后开发人员可以添加一点逻辑来实现内容生成。

使用Spark,我们已经最小化了丑陋代码的问题,并且保持前端和后端工作分离,但仍然流畅且可维护。

+0

感谢您的评论,只看到它。它确实有意义你在说什么 – Rippo

1

我不认为设计师喜欢使用Spark。 使用和混合一些逻辑,变量定义太复杂了。 设计人员不应该知道任何编程语言。 我更喜欢使用Velocity View Engine(VTL),这只是简单的使用,并且可以强制程序员从前端分离逻辑。

+0

这是一个Java模板引擎。你如何使用它与ASP.NET MVC? –

+0

有一个从Java迁移的NVelocity。目前它由Castle项目维护。这里是链接http://stw.castleproject.org/MonoRail.NVelocity.ashx但是,其实我从来没有尝试成功的城堡之一,我用旧版本,而不是由城堡项目维护。我做了一个基于.Net MVC + NHibernate + StructureMap + NVelocity的开源CMS。你可以从这里下载http://ezycms.codeplex.com – John