这更多是关于人们近来对如何拆分Web应用程序的想法的讨论。
我习惯于使用其所有视图和控制器来创建MVC应用程序。通常,我将创建一个完整视图,并在一个完整页面请求中将其传递回浏览器,除非我不想立即填充特定区域,然后使用DOM页面加载事件来调用服务器来加载其他区域使用AJAX。
同样,当涉及部分页面刷新时,我将调用MVC操作方法,该方法将返回HTML片段,然后可以使用该HTML片段填充页面的某些部分。这将用于那些我不想减慢初始页面加载速度的区域,或者是更适合AJAX调用的区域。一个示例是表分页。如果您想转到下一页,我希望在AJAX调用获得该信息而不是使用整页刷新的情况下使用。但是AJAX调用仍然会返回HTML片段。
我的问题是。我对这个古老的想法是因为我来自.net背景,而不是纯粹的前端背景吗?
与我一起工作的聪明的前端开发人员,宁愿在MVC视图中什么也不做,而宁愿在前端做任何事情。一直到填充页面的Web API调用。因此,他宁愿返回一个标准对象并使用javascript创建页面的所有元素,而不是调用返回HTML的MVC操作方法。
前端开发人员的方式意味着我通常通过MVC模型验证(包括客户端验证)获得的任何好处都将消失。这也意味着我创建视图,使用强类型html模板等获得的任何好处都将消失。
我相信这意味着我需要为前端和后端验证编写相同的验证。javascript还需要有很多方法来创建DOM的所有不同部分。例如,当向表中添加新行时,我通常会使用MVC部分视图创建该行,然后将其作为AJAX调用的一部分返回,然后将其注入表中。通过使用纯前端方式,javascript将为api调用中的行引入一个对象(例如产品),然后从该对象创建一行。创建表行的每个单独的部分。
有问题的网站将在管理,表格,产品搜索等方面有很多不同的领域。我认为不需要以单一页面应用程序方式构建的网站。
大家对此有何想法?
我很想听听前端开发人员和后端开发人员的意见。