前后端分离,前端一定要用 NVVM 之类的,比如 vue/react 东西吗?

2020-04-23 14:10:03 +08:00
 youcanwin8099

做 web 后台管理程序(CRM 之类的),用 jquery+bootstrap 能否一样做到前后端分离?

就是不让后台的 java 接口来输出 html+jquery+bootstrap,而是前端 html+jquery+bootstrap+css 读取后台 java 接口。

有这种类型的、比较典型的、也比较流行的框架吗?

9929 次点击
所在节点    Vue.js
92 条回复
fanxingyu9555666
2020-04-23 14:46:58 +08:00
@ugu 不懂就别瞎说,很丢人
galikeoy
2020-04-23 14:51:42 +08:00
@ugu #15 ‘jquery+ bootstrap 最大的问题就是操作 dom 繁琐且性能低下’ 张口就来性能低下
hbolive
2020-04-23 14:59:17 +08:00
可以做到,而且页面效率也并不低,这是目前不是主流方式,所以有时候代码可能会繁琐一点,其实个人推荐:layui,后端人员可能更喜欢一点。。
ugu
2020-04-23 15:12:16 +08:00
@fanxingyu9555666 很丢人吗?我只是说出我的理解,如果你觉得不好,请 show 出你的理解,ok ?
ugu
2020-04-23 15:14:48 +08:00
@galikeoy 操作 dom 基本上会造成回流或重绘,这不叫性能低下?那为什么框架层面会尽量降低操作 dom 的次数?
SilentDepth
2020-04-23 15:14:49 +08:00
首先摆正一个观点:狭义上前端搞什么东西都离不开 HTML+JS+CSS 的本质。不管你用什么工具什么框架,最终都是在折腾这仨货。这个道理引申出来就是,你用 jQuery 还是 Vue,在 **可能的产出** 上完全一样。

谁说徒手木架不能盖大楼呢?

但是,摩天大楼徒手盖是要承担很大风险的,这个风险最终会表现为多种问题,比如盖的很慢,或者盖不坚固。工具和框架的意义就是让你能够更快速和 /或更安全地盖楼。Vue 和 React 就是市面上流行的两个盖楼工具 /框架(看你从哪个视角理解),MVVM 则是盖楼的一套方法论。

回到实际的问题。用 jQuery 开发 Web 应用完全没问题,但除非是有历史包袱,现在这个时代实在没有继续用 jQuery 开发应用的理由(补丁脚本之类的另说)。或者话说的重一些,jQuery 已经被时代淘汰了。前后分离的关键就是接口层定义,然后前后各自实现视图层和业务层。只要做到这一点,用什么技术栈都是前后分离。
SilentDepth
2020-04-23 15:18:54 +08:00
@ugu #25 要辩证地看待问题。用 jQuery 不一定就要背负 DOM 性能负担。jQuery 是一个工具库,不是视图层框架,使用效果如何很大程度上取决于使用者的用法。我打个比方:我复刻了 VDOM 的各种算法,但涉及 DOM 操作的地方全都用 jQuery 实现,这会不会造成性能低下的问题呢?
galikeoy
2020-04-23 15:22:40 +08:00
@ugu #25 可以
ugu
2020-04-23 15:23:44 +08:00
@SilentDepth 维护成本呢?是维护数据简单,还是维护散落的 dom 操作逻辑简单?
Tink
2020-04-23 15:24:15 +08:00
手写 jquery
SilentDepth
2020-04-23 15:29:06 +08:00
@ugu #29 你陷入了一个思维误区。用 jQuery 不表示状态维护一定要绑定到 DOM 操作上。讲道理,JS 应用的状态不就是一个对象嘛,我统一在一个 state 对象上储存和管理状态,计算出最终结果后统一用 jQuery 更新 DOM,哪里复杂了呢。但你说的「维护成本」确实是问题,毕竟 jQuery 没有提供一个应用的逻辑架构,很多逻辑过程需要自己实现。但严谨地说,这不是 jQuery 做不了高性能应用的理由。
HangoX
2020-04-23 15:29:55 +08:00
看技术栈,如果没有专业的前端只有后端开发,其实前后端不分离会快很多。如果是前后端分离,前端习惯用什么就什么,自己的事情而已,毕竟调用的只是 api 接口,就算你重构也就是改前端,和后端没啥关系
ugu
2020-04-23 15:37:03 +08:00
@SilentDepth 你要这样说,我没什么话讲,那我为什么还用 jQuery 呢,直接原生 js 撸起来不就得了,毕竟 v 站人均尤雨溪水平
otakustay
2020-04-23 15:42:49 +08:00
当然可以不用,只不过当熟悉这些框架以后,大概率效率和可维护性是能有效提升的
SilentDepth
2020-04-23 15:42:51 +08:00
@ugu #33 你这样就是抬杠了🙁。就事论事,对于简单应用,jQuery 和 Vue 的开发维护成本相差不大(甚至用 jQuery 还省了 axios 的引入成本),用谁都是 OK 的。只不过用 jQuery 没有明显的理由,用 Vue 还能得到不少额外的好处,综合来看 Vue 通常是更好的选择。

「一味地推举 XXX 和一味地抹黑 XXX 是同样的行为。」
yinzhili
2020-04-23 15:47:36 +08:00
做了多年后端开发,我个人觉得 jquery 是个好东西,开发简单,很适合逻辑简单的页面。但如果项目规模比较大或历史比较长,那 jquery 相关代码后期的维护成本确实是比较高的。比如一个 div,有哪些地方会对它进行操作,相关代码很可能是分散在各个地方的,查找起来相对比较费劲。
libasten
2020-04-23 15:48:24 +08:00
我现在就在这样搞一个 xx 管理系统,因为只会 jquery 操作 dom……

在工作推进过程中,觉得繁琐,但是思路理顺了,也没什么问题。

后面有空,想学学 vue react 之类的东西
woahishui
2020-04-23 15:52:38 +08:00
@ugu 怎么会有这种想法,虚拟 dom 怎么会比原来的快呢,不能人云亦云,自己也能做的跟 react 一样高的效率,而且还很简单
MikeLei
2020-04-23 15:54:44 +08:00
我之前写了一个在线学习的平台,就是采用 LeyUI+Jquery,后端采用 C# WebAPI 来开发,怎么说呢,开发比较繁琐,那时候还不会 VUE 啥的,但是呢,开发的时候比较自由,不用被 VUE 很多东西给约束,就是拼 Html 代码比较蛋疼,还有前端页面得权限控制不太好做。。也可能是我太菜了。
lzuntalented
2020-04-23 15:57:19 +08:00
你对前后端分离的理解让我不知道怎么表达了
你标题有个字母打错了

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

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

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

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

© 2021 V2EX