技术使用感受: JQuery 和 Vue

2023-04-13 17:26:33 +08:00
 2503

关于 JQuery 和 Vue 代表的 MVVM 框架。

我本人是比较喜欢 JQuery ,感觉 Vue 让一切变得特别的复杂难操作,是我自己的问题,还是也有和我一样的想法。

如果你深度的使用过 JQuery ,和深度的使用过 Vue ,希望你能分享一下感受。

14977 次点击
所在节点    程序员
125 条回复
vivipure
2023-04-14 09:46:24 +08:00
使用 Jquery 手动更改 DOM, 维护时麻烦的要死。现代 Web 应用复杂度也越来越高,程序既要管理应用状态,又要维护 DOM 的状态,开发和维护的成本和效率是很重要的。Jq 能做,但是数据驱动的框架可以做的更好
wangtian2020
2023-04-14 09:57:26 +08:00
为什么要操作 dom 呢,操作数据可太简单了
qianyeyixi
2023-04-14 09:58:26 +08:00
感觉有点像是钓鱼的味道,不同时代人们对于开发模式的追求不一样。 远古时代 jq 就是神 ,现在已经没有前端需要处理 ie 系列的兼容性问题了, 应该去了解一下处理兼容性问题多麻烦。vue 是新时代 需求的产物 , 都是希望前端能做更多的事情,越来越复杂的。
wangxin13g
2023-04-14 10:04:50 +08:00
工程化 工程化 工程化
重要的问题说三遍
老头乐不是不能开,但是不会有人想开老头乐上高速吧?
cmdOptionKana
2023-04-14 10:07:20 +08:00
@qianyeyixi 其实楼主说的有一定道理, vue 虽然好, 但大多数网站的复杂度根本体现不出 vue 的优势, 用 jq 或 vue 差别并不大, 比如 V 站就是一个例子.
cmdOptionKana
2023-04-14 10:10:00 +08:00
@wangxin13g 不会有人想开老头乐上高速, 但大多数网站都不是高速路, 比如你正在使用的这个网站, 就是开的老头乐(jq 或原生)
kylebing
2023-04-14 10:11:04 +08:00
工程量的区别。

- jQuary 适合量小的,但无法统筹管理内容。
- Vue 大小都适用,好管理。大了用 npm 项目模式,小了可以直接引入 vue.js 使用
kylebing
2023-04-14 10:16:25 +08:00
可以这么说,vue 的项目主干更稳固,添加东西比较方便。
我有个项目最初是 jQuery + vue.js 的,最后改成了 Vue3 的,管理更方便。

html: https://github.com/KyleBing/diary-html
vue3: https://github.com/KyleBing/diary
aogu555
2023-04-14 10:16:59 +08:00
后端仔总是喜欢在一知半解的情况下对着前端大放厥词,并且坚定认为前端应该一成不变且必须让后端仔能看懂(─.─||)
wangxin13g
2023-04-14 10:26:14 +08:00
@cmdOptionKana 如果 v2e 有朝一日要扩大规模到 50 人的团队 你觉得还会坚持用 jq 么
YasinChan
2023-04-14 10:33:04 +08:00
其实可以认为就是“框架”与“库”的区别,vue 作为框架,其开发者已经将基础结构和规则制定好,我们在使用的时候根据规则使用,可以显著的减少心智负担和提高开发效率和代码可重用性。jQuery 作为一个库,其实就是原生 js 的语法糖,优点是可以更轻松的使用 js API ,当然自由度更高些,但如果要开发较复杂的业务,工程性的东西就需要自己一点点的配置,成本反而会更高了。我所理解的现在 vue react 等框架用的越来越多,正是因为现在的前端业务越来越复杂,这类框架可以显著的提高工作效率,一个团队在框架的制约下代码质量也能更加统一,更方便的团队管理。
libook
2023-04-14 10:33:20 +08:00
首先,都是工具,工具是为需求服务的,杀鸡就用杀鸡刀,杀牛就用杀牛刀,拧螺丝就用螺丝刀;任何不匹配需求的工具,最终都会让工作变困难。

jQuery 的设计目标主要是方便进行 DOM 操作,只开发一个呈现内容并具备简单交互的页面,搞定 Mvvm 框架代码结构的时间都够用 jQuery 写完页面了。
Vue 的设计目标主要是让开发者仅描述业务,不用亲自操作 DOM ,涉及到大量数据相关的交互,并需要组件化重用的,拿 jQuery 来写,重复性工作就会很多。

另外,我真心建议通篇读一下 MDN 上 DOM API 的文档,最终你会发现,十年间新出的 DOM API 已经几乎可以替代 jQuery 的 99%的功能了,用原生代码写一个页面,也可以像使用 jQuery 一样方便了。
cmdOptionKana
2023-04-14 10:33:47 +08:00
@wangxin13g 还用 jq, 50 人的团队没必要全部用在一个地方, 就 V 站这个前端, 两三人完全够了, 其他人干别的事情去.
gogoOne
2023-04-14 10:46:25 +08:00
@aogu555 赞同,都什么年代了,还用 jq ,一个页面几万行代码是吧,钓鱼贴真实屡见不鲜。
kop1989smurf
2023-04-14 10:46:44 +08:00
@wangxin13g #90 如果有明确的代码审核以及设计指引,其实是可以的。只不过没必要。
比如最简单的,保证每个事件都是解耦的 function ,不要用全局变量等等。

其实框架是通过既定语法与封装强迫你做了这件事而已。你不这么做“编译”不过。
而且框架其实也是需要程序设计指引的,否则一个 js/jsx 梭一整个应用,框架用与不用效果也差不多。

btw:真的会有 50 人团队的、高耦合度的前端项目么?
aikilan
2023-04-14 10:52:14 +08:00
月经贴了,一个搞技术的应该能够分辨自己在什么场景下应该选用什么技术栈,老扯来扯去的无聊的紧。行了了,鱼你有了
xiaojun1994
2023-04-14 11:17:21 +08:00
你说的对
zjsxwc
2023-04-14 11:19:57 +08:00
搞对 dom 操作要求高的项目还是得用 jquery ,
比如这个用 jquery 1000 行不到的代码就实现了富文本编辑器。

https://www.jqueryscript.net/demo/Rich-Text-Editor-jQuery-RichText/
https://www.jqueryscript.net/demo/Rich-Text-Editor-jQuery-RichText/jquery.richtext.js
theohateonion
2023-04-14 11:54:29 +08:00
UI 最适合的描述方式永远是类 MVVM ,以组件的方式去描述。jQuery 做大项目一个是组件抽象不好做,不方便团队管理。一个是 dom 修改太混乱,dom 修改和实际的 dom 结构分开,几轮 feature 迭代,改到后面你可能自己都写晕了。

小产品或者小 project ,那无所谓啦,怎样都能实现。
Rrrrrr
2023-04-14 11:55:20 +08:00
react vue 也能操作 dom ,这并不是比较的点。只能说 Jq 只是工具库而已

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

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

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

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

© 2021 V2EX