【问题标题】:ASP.NET MVC Spark view engine for designers, do they like it?面向设计师的 ASP.NET MVC Spark 视图引擎,他们喜欢吗?
【发布时间】:2009-11-26 07:48:21
【问题描述】:

我正在构建一个大型的 asp.net Mvc 项目,并且对设计人员上下文中与 MVC Spark 引擎相对的默认渲染引擎有疑问。

我完全赞成减少我的标签汤,并且可以看到火花引擎很整洁,非常整洁,我会欢迎它。但是,对于他们的设计团队是接受还是反对,有没有人有经验/意见?

我的设计师团队尚未使用 Mvc 框架进行开发,因此他们要么必须学习默认引擎,要么必须学习 spark 引擎。

有人可以评论吗?

【问题讨论】:

    标签: c# asp.net-mvc rendering designer


    【解决方案1】:

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

    您的设计师可以从普通的旧 HTML 和 CSS 制作模板,而无需看到任何一行渲染引擎代码。您只需告诉他们您要在模板中注入内容的位置即可。

    CSS/HTML 模板的全部意义在于提供设计者和开发者之间的分离。这允许将这些模板外包给设计商店。您不希望设计工作室不得不弄乱您的开发代码。

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

    明确地说,设计师的工作是为您创建一个 HTML/CSS 模板(带有示例内容和样式,以便你们双方都能充分看到布局)。您的工作是将设计师提供给您的 CSS/HTML 并入视图引擎代码中。

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

    【讨论】:

    • 公平点。然而,他们确实需要了解引擎的基础知识,因为会有注入代码。问题是设计师更喜欢看到哪种输出,默认还是火花?
    • 注入了什么代码?最终网页中除了 HTML、CSS 和 Javascript 之外没有注入代码。
    • 我想我们这里有两种不同的波长!我的设计师将需要处理实际视图以根据自己的喜好格式化 HTML。当他们打开视图时,他们将看到 a) 大量
    • 谢谢哈维,我会接受这个答案,因为你费了很大的力气才能回答。然而,有时设计师与开发人员的想法不同,有时会合并表格列,添加新的 css 类等......显然我的设计师团队的角色与你的不同。
    【解决方案2】:

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

    我们有一个后端 (C#) 团队和一个致力于 .NET MVC 应用程序的前端 (HTML/CSS/Javascript) 团队。 Spark 是一种更自然的方式来处理 HTML 视图。 Sparks 通过添加 'if' 和 'each' 语句作为 HTML 元素的属性而不是 标记中的 HTML 标记外的循环,添加了一种自然的方式来执行 if 和循环。部分也以直观的方式调用。 将包含部分“_dashboard.spark”。

    Spark 使所有 View 标记看起来像 HTML,我认为这对于可维护性非常重要。它还通过将尽可能多的逻辑排除在 View 标记之外来强制养成良好的 MVC 习惯。设计团队创建 HTML 标记,然后开发人员可以添加一点点逻辑来进行内容生成。

    借助 Spark,我们最大限度地减少了丑陋代码的问题,并将前端和后端工作分开,但仍然流畅且可维护。

    【讨论】:

    • 感谢您的评论,才刚刚看到。你说的很有道理
    【解决方案3】:

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

    【讨论】:

    • 这是一个Java模板引擎。您将如何将它与 ASP.NET MVC 一起使用?
    • 有一个从 Java 迁移而来的 NVelocity。目前它由 Castle 项目维护。这是链接stw.castleproject.org/MonoRail.NVelocity.ashx 但是,实际上我从未尝试过使用城堡的成功,我使用的是城堡项目未维护的旧版本。我做了一个基于 .Net MVC + NHibernate + StructureMap + NVelocity 的开源 CMS。你可以从这里下载ezycms.codeplex.com
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-01-09
    • 1970-01-01
    • 1970-01-01
    • 2012-06-24
    • 2011-03-11
    • 1970-01-01
    • 2010-12-20
    相关资源
    最近更新 更多