前后端分离,前端一定要用 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 接口。

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

9685 次点击
所在节点    Vue.js
92 条回复
yaphets666
2020-04-23 15:58:24 +08:00
用 mvvm 写一个小时的东西 可能模板或者原生得写一周不止
newghost
2020-04-23 15:59:57 +08:00
mvvm 解决的是开发效率问题,有一点性能上的损耗,构建复杂表单比较顺手,一般浏览器兼容差,DOM 动态生成无法 SEO,适合内部应用,管理后台

jQuery 手工操作已经存在的 DOM,操作比较精细,性能好但开发效率低,浏览器兼容较好,各个门户主要还是用这个
xuanbg
2020-04-23 16:21:40 +08:00
是的,做前端无论你用传统的 jQuery 还是流行的 VUE 什么的,MVVM 模式都是要搞起来的。一旦开发模板磨合出来了,开发新页面简直就是流水线生产一样高效。

事实上我连古老的 Winform 都搞起了 MVVM 模式。控件拖拖完成一个 View,里面坚决不写一行代码。然后搞一个 ViewModel 类,构造方法里面专门写数据双向绑定的代码,和界面交互的事件绑定,一般都是几个方法实现一下事件触发后的交互逻辑,百十来行代码就搞定。然后再来个 Model 类,就负责构造 ViewModel 和转发数据,通常也就几十行代码完事。

这样分割后最大的好处是代码结构通用化和模板化,一些公共的处理逻辑就可以提取出来,搞几个基类,让业务类去继承一下,就可以少写很多很多的代码。
vone
2020-04-23 16:30:29 +08:00
问题 1: > 做 web 后台管理程序(CRM 之类的),用 jquery+bootstrap 能否一样做到前后端分离?
可以做到

问题 2: > 就是不让后台的 java 接口来输出 html+jquery+bootstrap,而是前端 html+jquery+bootstrap+css 读取后台 java 接口。有这种类型的、比较典型的、也比较流行的框架吗?
1 、最小学习成本的应该是直接使用 jQuery+bootstrap 编写业务代码,可以实现所有功能但是有些繁琐;
2 、最经典的应该是 jQuery UI 配合 jquery 生态,可以覆盖 100%的业务场景;
3 、最流行的应该是 Layui,官网 https://www.layui.com/

最后说一下:
1 、如果团队成员中没有专业前端的话,请不要相信楼上吹 MVVM 的人说的哪些话,坚持使用 jQuery 没错。
2 、脱离实际应用场景谈性能及优越性都是耍流氓。
qqqqqcy
2020-04-23 16:48:50 +08:00
js ≈ 走路、jq ≈ 骑车、vue/react/ng ≈ 开车

- 如果终点很近,当然是随便怎么过去,滚过去都行

- 如果终点很远,当然开车最快。反对开车的理由实在有点搞笑

问:不会开车,等我考完驾照再来开,我单车都可以来回十趟
答:如果只去很少的次数,当然没必要学新的东西了

问:开车效率低,不如我单车可以选最短路
答:路程短,时间不一定短。小路也不怎么安全

问:单车维护成本低,容易修
答:所以选工具最重要的因素是好修么?

问: 开车烧油,消耗大,不环保
答:如果你真的这么在乎这个,那就慢慢骑车吧,还能锻炼身体。只是等你去一个地方的耗时,人家可能已经来回十躺了

当然了,有些极端情况确实没法开车,比如路太窄、道路禁止机动车出行、乘客晕车等
love
2020-04-23 16:52:50 +08:00
作为从 jquery 时代走来的前端,你以为用 jquery 开发会更快,其实不然,用 jquery 不但更慢,代码更不易读,这几年的前端工程化飞速发展,没有正经前端还想回到十年的 jq 。

只有一种情况可以用 jq,就是文档型产品,基本没太复杂交互,如博客什么的
mscb
2020-04-23 16:55:39 +08:00
应该先看前端复杂度吧。如果基本没啥交互,那用普通的 jq 效率还是很高的。
liuy1994g
2020-04-23 17:06:25 +08:00
这种情况 Vue2 一把梭
fanxingyu9555666
2020-04-23 17:22:46 +08:00
@ugu jq 并不比 vue 和 react 慢,如果你 js 功底好,用 jq 写出来的代码性能可以比 react 好,不服来辩
wanguorui123
2020-04-23 18:25:18 +08:00
原生就可以实现前后端分离,只是麻不麻烦的区别。
youcanwin8099
2020-04-23 18:30:35 +08:00
这个里面,有些是支持这种 jquery+bootstrap+html 做前端的来控制后端的;但是奈何现在几乎没有这样的主流框架来支撑这一观点,我寻遍 github,gitee,都没有! 要么就是 springboot+thymeleaf/jsp,要么就是 vue/ant-d/elmentUI + springboot
youcanwin8099
2020-04-23 18:32:25 +08:00
所以感觉自己最终的这种看法,只能归为:少数项目、少数人的私下选择。。。
akakidz
2020-04-23 18:42:31 +08:00
还有一个很重要的是维护成本,框架写出来的东西,后续有人拿到项目也比较好上手,我之前维护公司的 jQuery 项目看的很恶心
dNib9U2o8x
2020-04-23 21:18:51 +08:00
楼主要的就是前端直接写页面,然后需要数据时候 ajax 请求接口就好了。
楼上各路大神张口闭口就谈性能,大部分的前端开发工作,有多少会遇到性能瓶颈?真遇到了,也可以针对性解决,
至于现在为什么都在用 react/vue 等框架,最主要的原因可`开发效率`,`开发体验`和`维护成本`。
RRRSSS
2020-04-23 21:29:02 +08:00
可以不用,所以最最开始是 MVC:Backbone,现在还能听过这个框架的应该都是前端老鸟了。之后才慢慢切到 Anguarl / Vue / React 这种 MVVM 框架的。因为在 GUI 编程方面,数据驱动界面渲染真的很方便,以至于现在都是政治正确的选择了,你看苹果的 SwiftUI,Google 的 Flutter 都是数据驱动。
visonme
2020-04-23 21:32:11 +08:00
很多人考虑性能,但是大多数类 CRM,ERP 之类的,对性能的追求并不高。

前后端分离的目的是什么? 简单点就是分工和效率,JQ+BS 跟 VUE/REACT 对比,肯定后者了。

你说 JQ 能做到前后端分离吗? 当然了,就是效率低了点而且不易于团队协作,如果用 JQ,最好考虑前端模块化
HytonightYX
2020-04-23 23:55:35 +08:00
前后端分离是个项目管理问题,不是技术栈问题
lewinlan
2020-04-24 00:01:27 +08:00
这个问题等同于
用汇编写代码可以吗?
hyyou2010
2020-04-24 00:36:43 +08:00
磨刀不误砍柴工,学吧,react / vue 任一个。
sivacohan
2020-04-24 00:47:59 +08:00
做 CRM 的话,你得考虑一下要不要兼容 IE8 、IE9 。
如果需要兼容的话,还是用 jQuery 吧。

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

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

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

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

© 2021 V2EX