And*_*nho 1 asp.net-mvc frontend razor asp.net-mvc-4
我将与一个小团队开始一个新的 .Net MVC 项目。它有五名成员,两名后端开发人员和三名前端开发人员。
前端成员将单独工作,使用 gulp/grunt、less/saas、jade 和其他框架等工具构建该项目的 html 版本。他们更喜欢使用像 Sublime 这样的编辑器,并且会在许多不同的设备上实时运行界面测试。
他们无法使用 MVC,特别是 Razor 视图引擎,因此我们需要两个存储库,一个在前面,另一个在后面。在此过程中,后端开发人员需要捕获构建的 html 并将其适合于 Razor MVC。
有什么想法如何改进这个过程吗?如何缩小后台开发人员和前台开发人员之间的技术差距?
在我看来,你太努力去适应你的团队成员的技能/愿望了。如果完全忽略 Razor/CSHTML,您将无法从客户端与服务器端获得良好的内聚性。您的整体架构/设计应该放在第一位,并决定这些决策。当然,您会考虑团队的技能,这样您就不会让 Java 开发人员团队采用 C++。但是,您将这一点推向了极端,基本上将设计/架构的考虑抛到了九霄云外,并表示您将根据开发人员愿意使用的内容来划分应用程序。
抛开我的意见不谈,你可以让这项工作成功,但有点痛苦。
首先,首先在真空中开发 HTML apges,而不考虑与服务器的交互,要么会导致界面非常残缺,更像是 90 年代的静态网站。在某些情况下,您可以构建一个没有 AJAX 请求的纯 JavaScript 的单页应用程序,但这些情况非常罕见。
因此,您需要首先构建服务器端,或者有一个设计步骤来模拟页面并讨论它将如何工作。
1)设计一个页面及其功能,以及它如何与服务器交互。 确定哪些交互是导航操作(例如单击链接导航到另一个页面),哪些交互是 AJAX 操作。不要实现 HTML,这将在稍后实现。作为一个团队,审查每个开发人员模拟的内容,并确保他们彻底考虑了所有交互。
由此,列出该页面的控制器中需要哪些服务器端操作:
2) 您的后端开发人员创建控制器,根据商定的设计公开操作。CSHTML 现在将是存根并且不返回任何内容。
3) 您的前端开发人员创建 HTML/javascript 来使用它们。
他们将能够将 ajax 操作指向控制器,但他们需要模拟返回的内容,因为控制器还不知道他们应该返回什么 HTML。
4) 前端开发人员向后端开发人员提供 HTML 以合并到项目中,以便操作/部分视图返回 HTML 或 HTML 片段。
问题是您将不断地迭代前端开发人员,将 HTML 提供给后端开发人员以合并到 MVC 项目中,以便可以测试返回 HTML 的操作和/或返回部分 HTML 片段 (PartialView) 的 AJAX 操作。
这导致了一个非常不敏捷的过程。
您将无法利用许多 MVC 框架,这些框架假设您正在使用 Razor 视图/HTML 帮助程序。许多与 MVC 集成良好的用于压缩/捆绑 javascript/less/css 的框架将不可行。您仍然可以做这些事情,但是您的工作流程将不再那么顺利,并且需要您自己进行更多的修改。
我想指出的是,几乎所有 javascript 框架都可以在 CSHTML 中正常工作。从客户端的角度来看,MVC/CSHTML 不会引入任何妨碍您构建交互性很强的页面的奇怪内容。您可以构建一个纯 HTML 和 javascript 的 CSHTML 页面,并对控制器进行 AJAX 调用,但尝试将其置于 MVC 项目之外将会削弱开发工作流程。设计和实现交互式页面需要大量考虑如何实现服务器端的操作。
归档时间: |
|
查看次数: |
1164 次 |
最近记录: |