Vue 或者其他 MVVM 框架相较于 jQuery 的特性、优势在哪?(非抬杠,开放问题)

2018-03-28 12:02:48 +08:00
 Corbusier

两种都用过,但是只是 api 型...感觉还是没有领会到精髓,虽然能体会到它们是不一样的,但是又难以用归纳性的语言表达出来。

5623 次点击
所在节点    程序员
32 条回复
msg7086
2018-03-28 12:11:48 +08:00
就不是一类东西吧。
MVVM 是用来做数据绑定的,jQuery 相当于一个超级甜的函数糖。
本来 jQuery 和 MVVM 框架也是可以一起用的,完全不冲突。
msg7086
2018-03-28 12:13:01 +08:00
说得不太准确,数据绑定只是其中一个功能,还有包括页面路由动态渲染等等各种功能。
如果你自己用 jQuery 硬做一套这些功能出来的话,其实就相当于重新造了一套 MVVM。
hAt
2018-03-28 12:32:32 +08:00
jQuery 简化了 dom 操作,我理解增强了浏览器端的 js 功能,本身还是基于原生的 js,html 和 css 构建应用
MVVM 既然是框架,我理解抽象了一直以来的开发模式,用新的方式构建应用,由之前的用 js 操作 dom 变成了用 js 操作数据,dom 的渲染由框架来完成
feverzsj
2018-03-28 12:36:23 +08:00
MVVM 开销大,一般简单的 ui 用 jquery 会更快
lovedebug
2018-03-28 12:36:55 +08:00
一个是框架,一个是一系列的库。
shiji
2018-03-28 12:40:00 +08:00
这两个东西不一样,所以没什么需要比的。 我有的时候会一起用(捂脸)
tjsdtc
2018-03-28 13:05:44 +08:00
个人的一些经验:MVVM 是数据驱动的开发,也就是说编码的过程中只需要关注数据层的业务逻辑,而无需关注视图层的更新,一般来讲逻辑越是复杂的页面用 MVVM 框架开发相比较传统的 DOM 操作的模式来说代码的逻辑更加清晰,代码量更少,代码风格也更统一。
fanhaipeng0403
2018-03-28 13:07:53 +08:00
一个是框架 , 一个是 DOM 库
z530151716
2018-03-28 13:09:10 +08:00
一个是 SpringMVC 一个是工具类集合 不知我的理解对不对
doubleflower
2018-03-28 13:29:21 +08:00
你没有意识到 Vue 比 JQ 进步在哪,说明你的应用很简单没什么动态部分,那用用 JQ 也没什么。
SuperMild
2018-03-28 13:31:32 +08:00
1. 简化了一些常用的任务。比如 Vue 可以方便地做一个组件出来,用 jq 当然也可以做到类似的组件,但是麻烦呀。

2. 规范了套路。比如组件怎么写,规定好了,大家写法统一。用 jq 实现同一个组件有一万种实现方法,每个人写法不一样,团队合作就很烦了。当然你可以规定一套规范,然后你要写一大堆文档说明这个规范的用法(想想就想死),Vue 给你规范好了中英文档都给你写好了,何苦自己再搞一套。
xomix
2018-03-28 13:33:40 +08:00
流水线比较一般工具套装的特性、优势在哪?(非抬杠,把你的问题套到更容易理解的角度)

这样看你就知道了吧,你流水线上一样要用一般工具( MVVM 框架一样要用 jQuery ),流水线上可能配置了部分工具(小部分功能不用 jQuery 可以),但是这俩东西没啥可比性。

如果你是很小的一件事换个灯泡这种,当然用一般工具套装(微型应用 jQuery 的解决方案优于各种框架),甚至不用也不错(原生 js 也可以)。
如果你要解决的问题是大规模性的长期的问题,当然要上流水线(大型项目用 MVVM ),但是工具套装也能生产一些简单的微型流水线解决问题(小规模的长期工作较也可以用 jQuery 做点东西凑合)。
whypool
2018-03-28 13:38:01 +08:00
没对比可言
在 mvvm 中也可以用 jq
Biwood
2018-03-28 13:41:51 +08:00
简单点:
Vue 靠数据的改变来驱动页面的变化,出发点在数据。
jQuery 靠操作 DOM 结构来改变页面,出发点在 DOM。
learnshare
2018-03-28 13:42:05 +08:00
自行车 /火车
精于解决小问题 /适合解决大问题
zhchyu999
2018-03-28 13:43:12 +08:00
MVVM 方便了前端工程化,比普通写页面的多了一个吹牛逼的点,但真正需要工程化来解决的并不太多
vinsony
2018-03-28 14:06:26 +08:00
感受不到区别证明你的页面还不够复杂
murmur
2018-03-28 14:07:06 +08:00
mvvm 在不需要性能前提下
写 交互验证复杂的页面爽的一批
grewer
2018-03-28 14:08:09 +08:00
组件化吧,以前做的时候,组件都是后端搞的然后模板里 include 就行了, 现在改到了 js 里引用了,再加上配套地控制路由(jq 也能控制,但是没有搭配),功能多了, 其他数据的着力点不一样,但还是大同小异
vincenttone
2018-03-28 14:20:57 +08:00
个人理解:
其实从解决问题的方向上来讲,一样也不一样,一样是都想降低代码开发的复杂度,不一样的是实现机制。
如果不想了解那么多,个人觉得 jquery 多数场景适合,但是大型项目上 mvvm 更容易降低项目复杂度(同时有较大可能性带来性能损耗)。
jquery 更加类似于复杂度的简易封装,如果都是使用全部特性的情况下,代码的自由度实际上 jquery 是没什么限制,大型项目上,还是看写码的人。

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

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

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

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

© 2021 V2EX