Vue.js 等前端框架和 jQuery 是什么关系?是替代关系还是可以共存?

2018-01-13 07:06:08 +08:00
 ericgui
请高人指点一二。

如果可以共存,那么,什么时候用 jQuery,什么时候用 Vue.js 等框架?

备注:前端框架,包括但不限于 Vue,React,Angular,San 等。
24499 次点击
所在节点    程序员
72 条回复
arraysnow
2018-01-13 18:00:21 +08:00
@mb135 什么时候 jq “改写了 web 的历史进程”了?有相关文献吗,我张张见识···
svenz
2018-01-13 18:08:08 +08:00
@mb135
1 首先不可否认 jq 的代码艺术价值 优雅的链式调用 无参构造确实非常的漂亮
2 jquery 的最大存在价值是优雅的处理了浏览器的前端兼容性 但是随着规范化 十年后 jq 价值确实不大 艺术价值更多
例如 H5 的 querySelector 和 querySelectorall 的存在 已经把使用 jq 的百分之五十的需求替代掉了.
3 vue react ag 的出现事实上是比 jq 先进,主要解决的问题还是前端的状态问题降低了开发成本,用网红来形容不太恰当.
4 同意你一点,不是所有的 jq 都是页面仔,但是想在大项目里面写好 jq(直接操作 dom)非常难,虚拟 dom 要比直接操作 dom 减轻了非常多的压力,页面仔是 hold 不住 jq 的大型的 jquery 项目的


最后完全可以共存看项目性质,如果是一个简单的针对移动端的页面甚至 jquery 也不需要 h5 的 dom API 已经完全足够了
uestc
2018-01-13 18:10:54 +08:00
内部系统的话随便找个后端拿 jq 就可以开撸,vue 的话还是要学个几天才能开工
ThomasChan
2018-01-13 18:15:37 +08:00
刚翻译了一篇关于这些框架的文章,楼主可以看看 https://zhuanlan.zhihu.com/p/32910275 他们的生命周期,共存是可以的,但是只会增加复杂度,不同的框架解决不同的痛点,要先知道自己想做的东西的恢复砸到什么程度,可能会遇到什么样的问题,再选框架
fy
2018-01-13 18:24:20 +08:00
1. 可以共存,需要配置一下

2. 随着对 mvvm 框架的逐渐熟悉,自然而然的就不再需要 jQuery 了。

3. @slgz #18 不需要学这些。你只需抄起 cli (比如 vue-cli )自动生成初始项目,npm install && npm run dev 就可以开搞了。

4. 就算不上全家桶,直接从 cdn 也可以单独引入 vue.js ,并以传统的方式来使用。数据绑定是很好的特性,即使如此也很有用。

5. cli 弄来的全家桶是全方位的革新,这代表着 前后端分离 + 资源自动打包 + mvvm + es6 等一系列内容的引入,很多东西都是我们以前梦寐以求的,比如说自动合并 js、css 并将其压缩(很早以前用单独的脚本来实现,只能说勉强工作);比如说写标准 css,自动适配多个浏览器(自动加入 -webkit- -ms- -moz- 前缀); es6 带来的更是全方位的提升,再也不必像以前那样倒腾 coffeescript 之类了。

6. 最后建议动手试一试,前端学习成本并不高。
libook
2018-01-13 18:50:18 +08:00
如果说是框架的话,就看对框架的定义是什么了。
个人认为:
vue 是框架,配套的是特有的对 WEB 系统的抽象以及一系列搭建 WEB 系统的思想和方法论;
jQuery 是库,提供了方便处理 DOM、方便调用常规算法的工具。

理论上来说,一个项目既可以用 jQuery 来写,也可以用 vue 来写,也可以什么都不用原生 JS 来写,只不过针对不同项目的情况,各自的实现成本不同,而这种成本并不是绝对的。

两者的功能既有交集,又有各自特有的,看具体的项目需求和采用的架构思想,决定究竟适合使用什么技术乃至如何搭配。
notreami
2018-01-13 22:51:18 +08:00
居然不是从行业、场景出发去选择框架,而是先去选择框架,再来适应行业、场景,真是神奇啊~~
changwei
2018-01-14 00:42:11 +08:00
如果你是后端开发人员,我可以打个比方,jq 就是手写 sql,vue.js 就是用了 orm
exonuclease
2018-01-14 01:32:53 +08:00
@mb135 不好意思我奶茶家的。某些低端培训码畜不要用自己在外包公司的悲惨经历去揣测别人,用 jq 的十有八九都是苦逼页面仔,能用 jq 撸 spa 的人不会傻到这么干的。
mb135
2018-01-14 02:13:44 +08:00
@exonuclease 爷我是腾讯家的出来炫耀过吗?我会说 QQ 邮箱现在还在用 iframe + jQuery 吗?没有任何应用一个 iframe + jQuery 解决不了,如果有,就用两个。

我会说 spa 是邪路吗?不要说中小公司,就是大公司的应用也很少用 spa,github 几年前就尝试过 spa 了,现在不还是乖乖的换回后端渲染,只要浏览器还有地址栏,还有刷新功能,spa 就是邪路,就是噱头。
mb135
2018-01-14 02:24:56 +08:00
github 和国产的 gitee 都是用的传统的 jquery,国产的 coding 用了 angular,大家可以体验一下哪个用起来舒服,coding 也不是用的纯 spa,傻子才用纯 spa,只是用 angular 实现了一些切换效果,那些效果用 jquery 完全可以做出来。
mb135
2018-01-14 04:22:04 +08:00
spa 永远模拟不出来后端渲染的那种拳拳入肉的体验。后端渲染的页面点击的时候像是直接在墙上作画,spa 操作起来像是在墙上铺了纸(铺的很不贴实),在纸上作画
akinoniku
2018-01-14 05:35:16 +08:00
@mb135

C++ 哪点比 PHP 弱?但要做网站还是有不少人选 PHP,毕竟成本摆在那里。

理智一点啦,还什么拳拳入肉。
zpvip
2018-01-14 05:38:24 +08:00
rogwan
2018-01-14 07:43:09 +08:00
虚拟 dom 用起来,页面渲染总有一种微微喝醉酒的感觉
dan2001go
2018-01-14 11:03:34 +08:00
@zpvip @mb135
https://zhuanlan.zhihu.com/p/22782487

这篇文章扎心了。话说自己从最早原生(那时候还没 jQuery )开始写起。后来用了 jQ。
现在是完全看不懂了。。怎么写一个前端代码要这么多花头。。

不过我的业务场景大多还是传统的页面渲染为主的那种。如果出去面试,说主要用 jQuery,大概率会被直接干掉的 T_T
SourceMan
2018-01-14 11:14:25 +08:00
看到了楼上某些可能老前辈守旧的姿态,感觉很可笑
哦哦,可能也是连 vuejs 都学不好的人,只会 jq,所以特别恼怒现在哪里都用 react,vuejs,ng,jq 被慢慢淡忘
janus77
2018-01-14 11:43:24 +08:00
相当于后端同时使用 mysql 和 oracle 的关系
abcbuzhiming
2018-01-14 12:53:37 +08:00
@changwei 先不谈前端,手写 sql 怎么了,目前国内凡是要和钱打交道的领域基本去 ORM 化了,mybatis 在国内可是远比 hibernate 流行的多的
abcbuzhiming
2018-01-14 12:56:05 +08:00
@mb135 SPA 到底存在什么问题,能说具体一点吗

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

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

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

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

© 2021 V2EX