1
lhx2008 2018-01-13 07:39:31 +08:00 via Android
可以共存,但是意义不大。
看你前端的逻辑和内容, 前端复杂多变的话(后台,工具类,手机页面)用 mvvm,相比 jq,可以减少很多 dom 操作带来的工作量。 内容为主的话(博客,论坛)用 jqury 也可以。 |
2
watzds 2018-01-13 07:53:50 +08:00 via Android
可以共存,也可以替代。
|
3
AlwaysBee 2018-01-13 13:05:17 +08:00
Vue 和 jQuery 都不能称之为框架
|
4
wizardoz 2018-01-13 13:08:44 +08:00
不是一样的东西,但是却有替代性,用好了 vue 之类的你将不在需要 jquery。
|
5
fengdra 2018-01-13 13:17:53 +08:00 via Android 7
一个是自动将数据映射到 DOM,一个是手动管理 DOM,一起用不方便
|
6
feverzsj 2018-01-13 13:23:19 +08:00
前浪和后浪的关系,web dev 就是这么乱,不过 jquery 算是很长寿的了
|
7
lihongjie0209 2018-01-13 13:46:13 +08:00
在 DOM 操作方面, Vue 是 jquery 的升级版
|
8
luruitao 2018-01-13 13:55:29 +08:00
5 楼是最靠谱的,Vue 是建立了虚拟 DOM 到真实 DOM 的透明映射
|
9
SuperMild 2018-01-13 13:55:58 +08:00
带着这个问题,花三十分钟学习一下 Vue 就有自己的判断了
|
10
LINAICAI 2018-01-13 14:00:29 +08:00 via iPhone
jq 我觉得只能算是一个函数封装库罢了,vue 强调 mvvm 的开发模式和组件化的封装思路,至于 dom 操作没研究过 vue 不太清楚,个人认为各有各好处和应用场合
|
11
Phariel 2018-01-13 14:08:06 +08:00 via Android
vue 是模板引擎 jQuery 是增强工具 都不能算框架
|
12
mb135 2018-01-13 14:39:39 +08:00 13
Vue 是网红,jQuery 是老艺术家,5 年之后可能很少人能记起来 Vue,10 年之后 jQuery 仍会大行其道。
过气的网红不如狗,你懂的 jQuery 最 NB 的地方不是各种新概念,而是只填坑不挖坑,孜孜不倦、默默无闻,不给码农添麻烦。 而反观各种所谓的新概念框架呢?解决一个痛点的同时,带来 3 个新的痛点,而解决这 3 个新的痛点,需要各种插件各种黑科技,终于解决了这 3 个痛点,你会发现又引出了 9 个新的痛点,如此反反复复挖新坑填旧坑,陷入各种坑里不能自拔 |
13
miketeam 2018-01-13 15:15:46 +08:00 via iPhone
mb135 回答这么直接干嘛,不能吹概念别人该怎么混了啊
|
14
Sivan 2018-01-13 15:27:35 +08:00
@mb135 jQuery 很棒,但 10 年后 jQuery 绝对不会大行其道。响应式框架可能会昙花一现,但 10 年后如果前端还是 jQuery 的模式当主流,这个行业的人可以考虑转业了。
|
15
mb135 2018-01-13 15:49:03 +08:00 4
@Sivan 只要 html 语言还在,只要 html 还有 dom,那么就永远有操作 dom 的需求,那么 jQuery 就永远有市场,除非 web 标准内置一套 jQuery,Html5 还真的内置了 querySelector,不过远没有 jQuery 实现的优雅。
可以说 jQuery 反过来影响了 HTML5 标准的制定,起到了指导性的作用,改写了 web 的历史进程。就凭这一点,目前前端任何框架都没资格跟 jQuery 相提并论。(当然那些碰瓷式营销的的水军脸皮那么厚,谁也管不了他们) “文章本天成,妙手偶得之”,jQuery 的 api 让人感觉到 web 本来就应该是这个样子的,作者不是发明了 jQuery 而是发现了 jQuery,“本天成”当之无愧。 |
16
learnshare 2018-01-13 15:55:30 +08:00
可以共存,但由于工作机制完全不同,建议完全替代使用
|
17
zjsxwc 2018-01-13 16:58:15 +08:00
不冲突,共存的
jquery 还是很有用的,dom 操作、deferred 封装的 promise、ajax 操作等等,比手写方便 |
18
slgz 2018-01-13 17:19:52 +08:00
感觉用了 vue 等之后,还要去学 webpack、npm、node (环境),等一推东西。非常的 boring。 不如 jQuery 来的实在,引入了 cdn,拿起键盘就是干
|
19
exonuclease 2018-01-13 17:29:56 +08:00 via Android 1
笑看一群吹 jq 的 活动页写傻了这是?
去拿 jq 撸复杂 spa 试试 |
20
mb135 2018-01-13 17:40:04 +08:00 via Android 6
ls 某些低端培训码畜不要用自己在外包公司的悲惨经历去揣测别人,不是所有用 jq 的都是页面仔
|
22
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 已经完全足够了 |
23
uestc 2018-01-13 18:10:54 +08:00 via Android
内部系统的话随便找个后端拿 jq 就可以开撸,vue 的话还是要学个几天才能开工
|
24
ThomasChan 2018-01-13 18:15:37 +08:00
刚翻译了一篇关于这些框架的文章,楼主可以看看 https://zhuanlan.zhihu.com/p/32910275 他们的生命周期,共存是可以的,但是只会增加复杂度,不同的框架解决不同的痛点,要先知道自己想做的东西的恢复砸到什么程度,可能会遇到什么样的问题,再选框架
|
25
fy 2018-01-13 18:24:20 +08:00 1
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. 最后建议动手试一试,前端学习成本并不高。 |
26
libook 2018-01-13 18:50:18 +08:00 1
如果说是框架的话,就看对框架的定义是什么了。
个人认为: vue 是框架,配套的是特有的对 WEB 系统的抽象以及一系列搭建 WEB 系统的思想和方法论; jQuery 是库,提供了方便处理 DOM、方便调用常规算法的工具。 理论上来说,一个项目既可以用 jQuery 来写,也可以用 vue 来写,也可以什么都不用原生 JS 来写,只不过针对不同项目的情况,各自的实现成本不同,而这种成本并不是绝对的。 两者的功能既有交集,又有各自特有的,看具体的项目需求和采用的架构思想,决定究竟适合使用什么技术乃至如何搭配。 |
27
notreami 2018-01-13 22:51:18 +08:00 1
居然不是从行业、场景出发去选择框架,而是先去选择框架,再来适应行业、场景,真是神奇啊~~
|
28
changwei 2018-01-14 00:42:11 +08:00 via Android
如果你是后端开发人员,我可以打个比方,jq 就是手写 sql,vue.js 就是用了 orm
|
29
exonuclease 2018-01-14 01:32:53 +08:00 via Android
@mb135 不好意思我奶茶家的。某些低端培训码畜不要用自己在外包公司的悲惨经历去揣测别人,用 jq 的十有八九都是苦逼页面仔,能用 jq 撸 spa 的人不会傻到这么干的。
|
30
mb135 2018-01-14 02:13:44 +08:00 2
@exonuclease 爷我是腾讯家的出来炫耀过吗?我会说 QQ 邮箱现在还在用 iframe + jQuery 吗?没有任何应用一个 iframe + jQuery 解决不了,如果有,就用两个。
我会说 spa 是邪路吗?不要说中小公司,就是大公司的应用也很少用 spa,github 几年前就尝试过 spa 了,现在不还是乖乖的换回后端渲染,只要浏览器还有地址栏,还有刷新功能,spa 就是邪路,就是噱头。 |
31
mb135 2018-01-14 02:24:56 +08:00
github 和国产的 gitee 都是用的传统的 jquery,国产的 coding 用了 angular,大家可以体验一下哪个用起来舒服,coding 也不是用的纯 spa,傻子才用纯 spa,只是用 angular 实现了一些切换效果,那些效果用 jquery 完全可以做出来。
|
32
mb135 2018-01-14 04:22:04 +08:00 via Android
spa 永远模拟不出来后端渲染的那种拳拳入肉的体验。后端渲染的页面点击的时候像是直接在墙上作画,spa 操作起来像是在墙上铺了纸(铺的很不贴实),在纸上作画
|
33
akinoniku 2018-01-14 05:35:16 +08:00
|
34
zpvip 2018-01-14 05:38:24 +08:00
|
35
rogwan 2018-01-14 07:43:09 +08:00 via Android
虚拟 dom 用起来,页面渲染总有一种微微喝醉酒的感觉
|
36
dan2001go 2018-01-14 11:03:34 +08:00
@zpvip @mb135
https://zhuanlan.zhihu.com/p/22782487 这篇文章扎心了。话说自己从最早原生(那时候还没 jQuery )开始写起。后来用了 jQ。 现在是完全看不懂了。。怎么写一个前端代码要这么多花头。。 不过我的业务场景大多还是传统的页面渲染为主的那种。如果出去面试,说主要用 jQuery,大概率会被直接干掉的 T_T |
37
SourceMan 2018-01-14 11:14:25 +08:00 via iPhone
看到了楼上某些可能老前辈守旧的姿态,感觉很可笑
哦哦,可能也是连 vuejs 都学不好的人,只会 jq,所以特别恼怒现在哪里都用 react,vuejs,ng,jq 被慢慢淡忘 |
38
janus77 2018-01-14 11:43:24 +08:00
相当于后端同时使用 mysql 和 oracle 的关系
|
39
abcbuzhiming 2018-01-14 12:53:37 +08:00
@changwei 先不谈前端,手写 sql 怎么了,目前国内凡是要和钱打交道的领域基本去 ORM 化了,mybatis 在国内可是远比 hibernate 流行的多的
|
40
abcbuzhiming 2018-01-14 12:56:05 +08:00
@mb135 SPA 到底存在什么问题,能说具体一点吗
|
41
SuperMild 2018-01-14 13:13:40 +08:00
上面说 SPA 不能拳拳入肉、或像微微喝醉酒,我很怀疑是不是被渐变动画过程影响了感觉,如果去掉全部过渡动画,SPA 也是瞬间变化的,而且通常比页面刷新变得更快,正是由于变化太快,页面又不刷新,所以通常会加个渐变过程让用户感觉变化不显突兀。
|
42
lalalakakaka 2018-01-14 13:29:03 +08:00 1
我大概理解诸位大佬们的分歧点在哪里了。
正方: 目前前端页面发展越来越复杂,尤其是 SPA 的流行,必然要求前端技术向虚拟 DOM 操作框架推进。所以要有 vue,react 等等~ 反方: 可是并不是所有的页面都是这么复杂啊,html 本身就是个极简单的东西(后端曰:不就是拼字符串嘛)。很多时候我们只是做个 CRUD 就 OK 了,哪有那么多复杂需求。而且功能强如 qqmail,技术强大如 github 都在用 jQ。你做个博客页还用 vuejs 什么的岂不是伪需求? |
43
exonuclease 2018-01-14 13:29:38 +08:00 via Android
我炫耀啥了这不你先攻击我外包公司的么?哦原来 qq 邮箱是 jq 写的啊 怪不得那么难用 隔壁 gmail 老早 spa 了
@mb135 |
44
exonuclease 2018-01-14 13:35:27 +08:00 via Android
麻烦各位 jq 的支持者 自己去招聘网站看看 jd 要求会 jq 的多还是三大框架的多 大家都是傻子?
另外 其实我是写 node 后端的我跑来掺和这事干嘛 |
45
sangmong 2018-01-14 13:54:24 +08:00
前排吃瓜
|
46
assad 2018-01-14 14:10:51 +08:00 via Android
@exonuclease 放弃你的 node 吧,赶紧用 JAVA。
|
47
ziki 2018-01-14 15:00:48 +08:00
比较两个事物都分析各自优缺点,针对场景去选择,为什么一定要一方碾压一方的结果呢?
|
48
codermagefox 2018-01-14 15:37:36 +08:00
我只想说,要是后端看到这个帖子又要说:"你看看这群前端啊,唉,我就说嘛..."
|
49
dan2001go 2018-01-14 16:05:39 +08:00 via Android
@codermagefox 哈哈,后端能好到哪里去啊。前端这叫内战,无非就是围绕着 JavaScript 然后吵来吵去。
后端那就是世界大战了,比如吼一句那个经典的台词『 PHP 是是世界上最好的语言!』 |
50
codermagefox 2018-01-14 16:06:28 +08:00
@dan2001go #49 然而 PHP 就是世界上最好的语言啊
|
51
ZSeptember 2018-01-14 16:11:32 +08:00 via Android
看场景使用。所以是并存的吧。现在的话,一般对外的产品应该用后端渲染的多,对内的管理系统应该很多都开始用 spa 了。
|
52
changlers 2018-01-14 18:39:45 +08:00
jq 其实当成原声 js 的增强库用,mvvm 有自己的一套思想,原生 js 写的好什么用什么都行框架主要还是更专注,现在的年轻人啊,不要听的风是的雨,也要有自己的判断
|
53
changlers 2018-01-14 18:40:57 +08:00
框架更专注思想,怎么限制代码,让团队合作起来更方便更有效率
|
54
gowk 2018-01-14 20:07:04 +08:00 via Android
科科,钓鱼贴
|
55
Tuisku 2018-01-14 21:19:27 +08:00
我司用 React, 所以我也要用 React
但我其实只是相当一个"页面仔", 而且我一后端容易吗我 233 |
58
ericgui OP |
61
Mutoo 2018-01-15 06:32:12 +08:00
可以共存的,vue 提供了组件生命周期的 hooks 可以在 mounted 的时候引入各种 jquery 插件 /事件的初始化,以及在 beforeDestroy 解构各种组件 /事件
https://vuejs.org/v2/guide/instance.html#Instance-Lifecycle-Hooks |
62
DOLLOR 2018-01-15 09:06:30 +08:00
这个年代已经可以抛弃 jq 了,因为能用 vanilla.js 做的事,为何还要多此一举用 jq 呢?
|
63
overflowHidden 2018-01-15 10:04:04 +08:00
@exonuclease 不要无脑吹 spa 了。spa 解决的无非是用户体验,实际开发坑有多少就不说了。这年头不是啥都是 spa 的。现在阿里都不能保证完全去掉 jq,更何况你区区奶茶东了。
|
64
Plsea 2018-01-15 15:02:25 +08:00
又到了我第五喜欢的前端撕 X 环节
|
65
KuroNekoFan 2018-01-15 18:03:17 +08:00
@overflowHidden spa 那不叫坑那叫新挑战,传统页面跳转一跳,旧的状态前端完全不用管,spa 的形态下状态变化全部前端维护,难度(坑)比传统页面跳转大很多不是必然的吗?
|
66
guomuzz 2018-01-16 18:40:21 +08:00
vue react ag 这种只关心数据了 需要什么 dom 组件 搞好放在那就行了 数据变 dom 自己就变了 不用太关心 dom
jq 就是手动撸 dom 你如果数据没多大变化想用 jq 就用呗 哪个合适用哪个 喜欢哪个用哪个 不知道喜欢哪个就两都用一遍再决定 多体验一种技术 以后也能吹逼了 不能学小马过河啊 |
68
wanguorui123 2018-01-25 16:59:36 +08:00
JQuery 是苍蝇拍,Vue 是大炮。苍蝇拍打苍蝇很方便,但是大炮缺不见得。这就是各自用武之地;
至于 JQuery 的话主要辅助为主,填补浏览器标准(兼容性)的不住之处,如果浏览器标准完善后,JQuery 还需不需要很难说; Vue 等前端 UI 库,更像是填补 UI 交互上,繁琐的 DOM 操作的缺陷; 如果 JQuery 做些简单的 DOM 操作和非 UI 层操作,没必要用 Vue 等 UI 库。 Vue 等 UI 库,在做复杂的 UI 时候很专注,而 JQuery 不能很好的解决复杂 UI 的问题。 |
69
wanguorui123 2018-01-25 17:21:17 +08:00
同时,Vue 等前端生态链,让人们明白,前端应该需要规范了!!!
|
70
shintendo 2019-04-05 21:17:01 +08:00
我支持四个空格,花括号不换行
|
71
charlie21 2020-11-18 14:19:05 +08:00
|
72
charlie21 2020-11-18 22:46:15 +08:00
React.js 的介绍 - 针对了解 jQuery 的工程师
https://segmentfault.com/a/1190000003501752 |