## 为什么前台也要使用MVC?
后台都已经使用了MVC架构了,直接将后台控制层的结果展示在视图层不好吗?
<font color="red">为什么前台也要搞出一个MVC架构?</font>
比如AngularJS,看似双向绑定很爽,但同时也很繁琐,一个页面对应一个controller, 多个controller对应一个service,相当于做一个页面,我要写2-3份文件。
写一个组件,往往要在html、js多个文件中切换,大型项目简直就是灾难。
然后就是数据双向绑定,这是MVVM的优点,但也是其缺点,绑定太多,页面能卡死半天出不来。
其实可以体验下再来比较的。开发爽,效率高。
是这样的,我是做后台的,Java, 当然,现在的我前后端都要一起搞。
来新公司不久,还不到三个月,目前这个项目的架构是这样的:
后台
前端
用了两个多下来,目前的感觉是前端MVVM确实爽,双向绑定,但是后台都已经MVC了,前端再用AngularJS, 反倒是徒增麻烦。
因为对前端的JS框架和架构并不熟悉,因此求教:
@Yoooshiki: 其实是这样的,后端的MVC,C是在服务端交互,V又是在客户端,多次操作,识别会让浏览器跳转多次。而且后端的M,必须有请求响应才能通知到客户端。
对于前端的MV*(MVC、MVVM,更多的是MVVM),都是客户端局部刷新,用户体验较好,对服务端的压力也较小。
常规的套路是:后端只提供API(一般是REST API),前端利用MV*框架配合客户端路由做页面切换。既然把View交给前端了,后端就不需要关心View了。
另,纯前端MV*也不是银弹,需要根据自己的需求来进行权衡。
@幻天芒: 非常感谢,看了您的回答我好想明白了一些。
虽然之前不怎么写前端,但有时候后台使用SpringBoot,视图层使用的Thymeleaf模板,有时候为了异步请求,要自己拼一堆的html字符串。
而前端之所以使用MVVM, 应该不仅仅是方法复用,也更便捷的在客户端局部刷新。不知道我这样理解对不对。
@Yoooshiki: 基本差不多,当然,还有更多的好处,也引入了一些不方便的东西(比如SEO)。总得来源,前后分离还是趋势~
前端用MVVM,后端通常只需要WebAPI,不需要MVC了
是这样的,我是做后台的,Java, 当然,现在的我前后端都要一起搞。
来新公司不久,还不到三个月,目前这个项目的架构是这样的:
后台
前端
用了两个多下来,目前的感觉是前端MVVM确实爽,双向绑定,但是后台都已经MVC了,前端再用AngularJS, 反倒是徒增麻烦。
因为对前端的JS框架和架构并不熟悉,因此求教:
1、同时考虑前后端的话,主流的架构是怎样的?
2、如果从个人角度出发(后台Java,MVC架构),前端又应该使用什么架构会比较好呢?
那么可能是你遇到了一个水平很臭又自以为是的上级了。
有的人总容易犯 —— 为 ... 而为之的问题。
在代码简洁 和 代码便于管理两者之间是可能妥协的。
背景各种参数是作为选型的依据,当然自身技能也是参数,总而言之影响开发的各种参数。
前端MVVM后端写接口.现在算是统一的最佳实践了