技术使用感受: JQuery 和 Vue

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

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

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

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

14858 次点击
所在节点    程序员
125 条回复
leeraya
2023-04-13 17:30:53 +08:00
jq 操作 dom 方便,适合小团队 梭哈。
vue 组件化方便做工程
euronx
2023-04-13 17:33:56 +08:00
页面复杂了之后 vue 就香多了
poorAshenOne
2023-04-13 17:36:47 +08:00
一个较为复杂的表单.
用 jq 来写 和 用 mv* lib 来写,完全是 2 种体验~
kujio
2023-04-13 17:38:25 +08:00
vue 引入了一套自己东西,新手只需要照着模板写就行不需要太多理解,
但对于熟系开发的人来说,这套东西增加了理解负担,在定制化程度高的业务中反而束手束脚。
LeegoYih
2023-04-13 17:39:42 +08:00
用过 Next.js + React 后你会发现 Vue 其实还挺简单的,用 UI 框架复制粘贴就完事了
ae86
2023-04-13 17:40:32 +08:00
我比较喜欢 react
renmu
2023-04-13 17:42:12 +08:00
其实是你的思维没转过来,这两个的开发思路差别很大
kop1989smurf
2023-04-13 17:42:25 +08:00
优势方向不同。

操作 DOM:
简单,直接,轻量化,自由度高。
代价就是逻辑与 UI 状态分不开,要自己维护 UI 的状态。
而每个人的编码水平不同,导致维护 UI 状态的逻辑不同,下限极低。新手容易有很多突破下限的操作。

双向绑定 /单项绑定:
规矩严格,通用性好,下限高,开发者不需要在逻辑中顾及 UI 。
代价是繁杂,庞大。

总体而言,其实 MVVM 库就是为了束缚前端人员的自由度用的,就像个老妈。
你小的时候,老妈可以帮你做很多你本没能力做的事情,但同时,你也受到老妈的束缚和抑制。
tool2d
2023-04-13 17:42:29 +08:00
jq 有一种写代码的感觉。

vue 是魔改 html 语法,用最简洁的语法,做更多扩展的感觉。

我个人是偏好改代码的,但是大部分人,还是会喜欢改改 html 。
makelove
2023-04-13 17:48:16 +08:00
就问一句:你写过复杂动态 app 吗? 没有没什么好说的,别说 jquery 了,直接 vanilla js 都一样
如果写过,你用 jquery 怎样管理海量状态并动态反映到 DOM 上?
zhengwenk
2023-04-13 17:48:59 +08:00
一旦页面交互的复杂度上去了,jq 就很难受
kop1989smurf
2023-04-13 17:50:08 +08:00
@makelove #10 能不能举个“界面复杂到必须用 MVVM 才能解决”的例子?市面上有的产品就行。
以我工作的经验来看,我还没遇到过说操作 DOM 完全捋不清的情况。
vinsony
2023-04-13 17:50:12 +08:00
你多搞点复杂的需求就不会这么说了
makelove
2023-04-13 17:51:48 +08:00
另外,jquery 连真正的组件机制都没有,怎么写大型应用
lete
2023-04-13 17:52:01 +08:00
(我因该没资格来回答楼主的问题,在这里分享一下自己的看法吧)
几年前简单的学过 jquery 的使用,大多时间因该是用 $.ajax 吧,vue 的话也缺了点,用 vue 写过小项目

我个人其实是很少使用框架或者库的,基本上自己需要什么功能就自己写一个(主打的就是一个轻量化),实在是自己写不出来,或者是写这个很费时间(弊大于利)我就会选择使用框架或者库

首先,用 jquery 还不如用原生 js ,jQuery 能做的原生原生 js 也能行,jquery 主要的特点就是浏览器兼容性比较好,其它没啥好的,反正现在有很多工具可以把 js 或 css 转换成支持低浏览器的代码

vue 的话,我觉得最大的优势是,提升了开发体验,其它的没啥了
举个例子:比如以前需要绑定个点击事件
传统: 先获取 dom 原生,然后写监听事件,然后写监听事件的回调函数
vue: 直接在 dom 上写 @click 给个方法名就可以了(虽然传统 js 也可以写 onclikc)

vue 的一些缺点: 需要花时间来学习,如果 vue 更新了可能还会有一些变动还得重新学,就像 vue2 和 vue3 ,v-if 和 v-for 的优先级,v-for 必须给个 key 什么的,不懂的可能还要花时间去看为什么需要 key ,然后就 diff 算法

总之学习成本还是比较高的吧,还有周边生态框架什么 router 这些,那以后要是用 react 的话又得新学一个框架,那我干嘛一开始不提升自己写原生 js 的能里,打牢基础呢?毕竟这些框架本来也是用原生 js 写的,基础好了,看源码都很轻松

以上是个人的一些观点,不代表所有人
lete
2023-04-13 17:55:53 +08:00
其实把,我觉得 vue 、react 就像是现代版的 php ,jsx 真的几乎 php 了我觉得,现在还出来了 SSR 更像 php 了有没有(手动滑稽)
dw2693734d
2023-04-13 17:56:45 +08:00
react 好用点
westoy
2023-04-13 17:58:47 +08:00
看场景的, 就算 jq 时代, 不也有用 backbone.js + 模板库的么
kop1989smurf
2023-04-13 18:00:19 +08:00
@lete #15 "用 jquery 还不如用原生 js" 这个主要是有个历史背景原因。

JQuery 活跃的年代是 200x 年,那时候 JS 的标准是 1999 年制定的。下一个 JS 版本诞生在 2009 年。相对好用的 ES5 更是一个 2015 年才诞生的标准。

所以你可以理解为 JS 原生的一些语法糖,是从 JQuery 中吸纳而来。
wunonglin
2023-04-13 18:00:23 +08:00
完全不是一个能比较的东西拿来比?

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

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

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

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

© 2021 V2EX