各位现在新开的项目是采用前后分离,还是采用视图模型返回?

2019-11-01 10:08:06 +08:00
 MikeLei

小白一个,前面开发一直用原生 ajax 来进行前后端分离,但是感觉前端会很囊肿,前端需要处理很多逻辑(登录状态,是否能够浏览某个 html 界面,等等),感觉前端需要做的事情实在是太多了。

尝试过视图模型返回,部分地方用着确实爽,不用去管繁杂的 json 返回结果,但是感觉用了视图模型在前端效果 Js 就不好写了,很多效果,不知道应该怎么实现,怎么触发

各位大佬可以探讨一下是完全靠前端请求接口,后端完全不管前端是什么表现形式(网页,APP ),还是靠渲染视图模型来开发,这两个哪个最爽,效率最高,后期维护还舒服?

背景:小公司,小项目,Spring Boot,jQuery 一梭子到底型前端,全干型程序员。

1967 次点击
所在节点    问与答
17 条回复
Caballarii
2019-11-01 10:28:12 +08:00
纯 jquery 搞前后端分离吗。。。好狠啊
lxk11153
2019-11-01 10:30:51 +08:00
前后分离是趋势,交互只传数据。
VUE 视图与数据绑定 这样也是趋势
MikeLei
2019-11-01 10:49:51 +08:00
@Caballarii 前端一直是短板,VUE 之前看过一点,那时候一直用的 jQuery ajax 求接口来拼拼改改页面,所以不太能理解 VUE 的运行逻辑,现在回头看能理解很多了,VUE 有机会还是要抓起来再学学的。

@lxk11153 也就是视图模型交给了 VUE 去处理?后端按照规定格式传给 VUE 让他自动渲染就可以了?
anmie
2019-11-01 10:56:53 +08:00
在不考虑项目复杂度,和 vue 的一些劣势的情况下,无脑 vue 前后端分离一把梭就行了。
如果如上的一些问题需要考虑,那前端这边,你只能内容展示型网站 ssr,应用型网站 vue。
然后分离的情况下,后台还有一个好处,就是你的接口不仅可以提供给网站使用,app,小程序同样可以。
lxk11153
2019-11-01 10:59:25 +08:00
@MikeLei #3 cn.vuejs.org/v2/guide/#%E5%A4%84%E7%90%86%E7%94%A8%E6%88%B7%E8%BE%93%E5%85%A5
比如这个,data.message 这个字段有个 reverseMessage 方法在修改,但你并没有看到 js 里去如何修改 html,js 里改了 data.message 的值,html 也相应变动了,然后页面往下一个输入框例子,你在页面输入框输入字符,js 里的变量也相应改变了值
MikeLei
2019-11-01 11:03:15 +08:00
@anmie result 风格前后端分离也一直是我理解的模式,后端完全不用管前端的展示方式,只需要会请求 http 就可以调用,但是我现在疑惑的是,如果这样写前端的任务量是不是太大了,基本上等于后端只需要负责输出数据,和校验请求的合法性,其它什么都不用管了。而前端它需要管理登录状态,管理页面访问,取出 Json 用于渲染前端页面,等等各种各样的逻辑,难道这些逻辑本身就应该属于前端的范畴嘛?

还是说我写法有问题?有更简便的方法?
MikeLei
2019-11-01 11:09:09 +08:00
@lxk11153 嗯,我大概看明白了。有空要深入研究一下。然后还有一个问题要请教您,像 LayUI,FinUI,这种填鸭式的前端框架还能与 VUE 融合吗?感觉用了框架以后就多了很多很多局限。
MAIQ
2019-11-01 11:16:36 +08:00
全干,怎么方便怎么来。我也是全干,后端依旧渲染视图和处理逻辑;前端用 vue 负责界面,不用写一坨一坨的 js,工作量少很多
lxk11153
2019-11-01 11:28:00 +08:00
@MikeLei
#6 所以 vue 就是来简化处理咯,比如说列表渲染 cn.vuejs.org/v2/guide/list.html
#7 vue 是数据层的,你说的 UI 是样式层的,基本的控件没问题,自定义控件的话看如何实现要具体分析了;基于 vue 的也有很多 UI 框架的。搜一下就行
hyy1995
2019-11-01 11:42:10 +08:00
楼主好像觉得,前后端分离之后,前端需要写的逻辑多了,任务量大。



实际上也是这样的,现在的前端早已不是当年的切图仔了。。。
zaul
2019-11-01 14:45:05 +08:00
换 VUE 吧,用习惯了你会把 JQ 彻底抛弃,毫不犹豫
zaul
2019-11-01 14:45:16 +08:00
开发效率也会变高的
stillyu
2019-11-01 15:58:35 +08:00
jquery 拼 html 字符串不觉得累吗?也不好维护。 换 vue 吧,你会爱上的,一两天就能上手了
nekolr
2019-11-01 16:00:26 +08:00
Spring Boot + vue 一把梭,再用 jquery 头发都掉了。
nekolr
2019-11-01 16:02:42 +08:00
@MikeLei UI 框架直接用基于 vue 的这种,方便很多
weixiangzhe
2019-11-01 20:08:44 +08:00
就算不上 react vue 之类的也要有模板引擎才行
anmie
2019-11-02 09:08:41 +08:00
@MikeLei 前后端都能做的内容,那就无所谓是属于谁的范畴,至于前端是不是做了太多的工作,只能说前端已经不是以前的页面仔了。
而且 vue 全家桶用熟了之后,你会发现工作量并不会增加很多,更何况你自己全干,某些逻辑前端处理比后台处理还方便

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/615123

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX