作为多年的后端,也曾写过 js,再看 js,突然发现已经不是当年的前端
1
w292614191 2021-01-23 18:11:12 +08:00
世界那么大,建议多出去看看。
|
2
user8341 2021-01-23 18:12:15 +08:00
原生 js 够强大了,为什么还要用 jquery ?
|
3
ininjue 2021-01-23 18:17:04 +08:00
现在都工程化了 各种编译打包啥的,后端也没那么容易写前端了
|
4
fiveelementgid 2021-01-23 18:20:04 +08:00
并没有,jquery 部分已经内嵌到其他一堆框架里面的了。我记得很久之前去看看 bootstrap,你能在源码级里面看到有 jquery.js.min 一堆玩意
|
5
iszengmh 2021-01-23 18:23:10 +08:00 via Android
之前接触到 angular,原来前端也有打包编译
|
6
cmdOptionKana 2021-01-23 18:26:08 +08:00 3
主要是原生 js (严格来说是浏览器 DOM 的 api 标准)把 jquery 的优点都抄过去了,可以理解为现在 js 本身已经自带了一个简单版的 jquery 。
|
7
zhizunzz 2021-01-23 18:31:38 +08:00
我有个需求:某网站(我管不着的)是用 react 写的,ajax 或 fetch 过来数据之后渲染的页面,现在我针对这个网站写个浏览器扩展,添加一些元素,监听一些事件,ajax 获取一些数据, 我觉得我用 jQuery 挺合适的
有大佬有办法用 react vue 之类的实现我这个需求吗? |
8
mittya 2021-01-23 18:33:06 +08:00 via iPhone
|
9
easylee 2021-01-23 18:48:27 +08:00
引用站内一句评论(忘了出处了)
“不管你用或者不用,Jquery 依旧是把锋利的刀” |
10
dvaknheo 2021-01-23 19:05:51 +08:00 17
对后端来说,最不能接受的是:javascript 是一种需要编译的语言
|
11
nianyu 2021-01-23 19:08:36 +08:00
JQ 时代结束了
但是目前依然有无数依赖 JQ 开发的网站 |
12
murmur 2021-01-23 19:12:34 +08:00
我会告诉你很多 vue 或者 react 的库还是 jq 套壳么,这包的一层层的
|
13
wukongkong 2021-01-23 19:14:08 +08:00
@zhizunzz 没办法,现代框架都是要编译之类的。你这个只是页面 dom 的操作,jq 正合适。
|
14
encro 2021-01-23 19:30:29 +08:00
初次看到 Livewire 的时候,亮瞎了我一眼,果然是给全干工程师的好东西。
|
15
hoyixi 2021-01-23 19:49:18 +08:00 1
打开 Google,随随便便搜,通过 SEO 搜到的网站,很大概率还是使用了 JQ
你如果天天做的项目是企业内部用的,App 内的这种,JQ 确实用的不多了 |
16
dk7952638 2021-01-23 20:19:17 +08:00
jq 已经完成了历史使命 它的很多部分已经成了 es 的标准
|
17
JaguarJack 2021-01-23 20:20:00 +08:00
@encro 实实在在是给全干工程师的!太绝了
|
18
Osk 2021-01-23 20:55:34 +08:00 via Android 2
习惯性用 jq 因为:
getElementById 大长。。。 $("#") 简单直接 |
20
des 2021-01-23 21:12:52 +08:00
ie:你在说什么
|
21
akakidz 2021-01-23 21:27:21 +08:00
项目里现在第三方的库用的比较多的是 lodash
|
22
ltm 2021-01-23 21:36:40 +08:00
白宫官网在用
https://www.whitehouse.gov/ /*! * jQuery JavaScript Library v3.5.0 * https://jquery.com/ * * Includes Sizzle.js * https://sizzlejs.com/ * * Copyright JS Foundation and other contributors * Released under the MIT license * https://jquery.org/license * * Date: 2020-04-10T15:07Z */ ![Screenshot_2021-01-23 主页 Twitter.png]( https://i.loli.net/2021/01/23/UXfymlvDFNhT9pq.png) |
23
nonduality 2021-01-23 21:42:27 +08:00
百度首页不也在用 jq,据说版本还很老
|
24
cmdOptionKana 2021-01-23 21:50:56 +08:00
@Osk 现在不用 getElementById 了,用 querySelector, 用法和 jq 一样。如果只是因为长度问题,完全可以自己包装一下用 $ 来代替 querySelector,这样不用引入 jq, 省了流量和加载时间也蛮好的呀。
|
25
rodrick 2021-01-23 22:19:29 +08:00
因为 js 现在已经吸收了很多 jq 的长处了吧,ES6 开始原生已经很强了, 但是不得不说很多人在当年没有学过 js 的情况下都是直接上手 jq 就能学着用的(比如我),很多老的网站还是 jq 维护着,只是新的项目选型基本不太会选他了
|
26
chenqh 2021-01-23 22:28:15 +08:00
学不会 vue, 本来就是后端,偶尔写写前端,感觉 jquery 的上手难度比 vue,react 低好多
|
27
duan602728596 2021-01-23 22:28:59 +08:00 1
已经不用了。ARV 三大框架,数据驱动,组件化开发,再也不用在业务逻辑里面写一堆选择器了,节省代码量,开发更轻松。
jquery 的一部分 api 都可以用原生的 javascript 来代替了。 兼容性也有 babel 来解决了。你要是觉得你的代码上能跑通 chrome87,下能兼容 ie7,无所谓了,随你开心。 webpack 编译、打包、压缩、上传 cdn,一个命令,一条龙服务。 |
28
Rhilip 2021-01-23 23:51:27 +08:00
@cmdOptionKana querySelector 不支持 :contains() 选择器(因为不是 CSS 规范),当然也有部分在 CSS 规范中的 比如 :has ( https://developer.mozilla.org/en-US/docs/Web/CSS/:has ) 也存在不支持的情况。
相对来说,如果不是网站搭建者,只是从插件(含 userscript )的角度,jQuery 操作 dom 确实比 框架 及 querySelector 好用很多。 (单使用 selector 的话,我会用 sizzle 替代) |
29
agdhole 2021-01-24 00:25:13 +08:00
是的,结束了
|
30
falcon05 2021-01-24 00:29:30 +08:00 via iPhone
有些重 seo 的服务器渲染的还会用吧
|
31
gricn 2021-01-24 01:47:07 +08:00 via Android
并没有,目前强智科技近年新系统还在普遍使用 1.x 版本的 JQuery →_→
|
33
sunwei0325 2021-01-24 07:39:39 +08:00
var 都亡了, 现在都是 const 和 let 了
|
34
40EaE5uJO3Xt1VVa 2021-01-24 08:52:07 +08:00
没有结束,jquery 依然非常好用,jquery 很多都成为 js 的事实标准了
|
35
jzmws 2021-01-24 09:01:03 +08:00
jq 是英雄暮年了
|
37
beginor 2021-01-24 10:13:14 +08:00 via Android
后端写前端的话,一般都会喜欢 Angular
|
38
justin2018 2021-01-24 10:44:12 +08:00
该用啥 还是用啥 ~
用 jq 的 依旧一大堆~ |
39
zzzlalala 2021-01-24 10:45:39 +08:00
jq 会永生
|
40
t6attack 2021-01-24 10:46:00 +08:00
firebug 的时代结束了,变成浏览器标配的控制台了。jquery 也是这个趋势。
|
41
charlie21 2021-01-24 10:46:33 +08:00
jquery 做得最好的就是它封装的动画函数 animation / transition ( hide, fadeIn 什么的 ) ,这一点是 react.js 声明式编程的弱项
https://reactjs.org/docs/animation.html https://jqueryui.com/effect jquery 的一套动画函数 是非常难以过时的,ARV 取代它的可能性为零 |
44
felixin 2021-01-24 12:29:43 +08:00 via Android
|
45
PEAL 2021-01-24 12:30:19 +08:00
JQ 我公司还在用,所有前端项目,未来还会用,VUE ?不存在的,未来也不会存在的
|
46
BingoXuan 2021-01-24 12:37:23 +08:00
原本小項目是用 jq 的,現在我全改成原生 js 了
|
47
royzxq 2021-01-24 13:12:39 +08:00
via https://www.npmjs.com/package/jquery Weekly Downloads 3,605,888
React 一周不过 800 万,远超 vue 一周 200 万。 远不止于要凉 |
48
charlie21 2021-01-24 13:38:17 +08:00
我觉得人们对于技术的评估其实有两种办法,一种是看自己喜欢不喜欢,一种是看别人喜欢不喜欢。基本上第一种就是忠君式的喜欢,变态之处在于 “一人不能事二主”,带着嘴巴还爱说 我也是醉了。第二种会看这个东西是不是稳健地戳到了人们的痛处(即使自己没有这个痛处),因为只要人们依然有这个痛处,它就有它的生存空间,这种判断基本上就是心里没有自己,变态之处在于 “博爱”:就与人讨论而言,博爱当然可以;就职业发展而言,就是很难博爱的 因为大量消耗你的注意力资源的东西 就在那里(即使它是允许你免费使用的 它也在消耗你),人也只能是 T 型人才:显然,哪个东西更吸引你 比 大家对技术的看法 更重要,因为被它消耗的是你 而不是大家。
|
49
huayumo 2021-01-24 14:13:17 +08:00
做网站还是 jq 好用
|
50
Seanfuck 2021-01-24 14:22:33 +08:00
还没结束,依然没被取代!
|
51
zhuweiyou 2021-01-24 14:25:41 +08:00
如果你就做一个活动页 没有什么 data render , 用 VAR 框架多此一举. 用 jquery 方便多了
|
52
love2075904 2021-01-24 14:52:42 +08:00
如果你经常看某些网站得源码,你会发现用 jquery 得还是比较多,比如: https://spring.io/
|
53
digimoon 2021-01-24 14:59:39 +08:00
@cmdOptionKana 之前想无脑用 query 代替的时候才发现元素后续有变化的时候他不会实时更新,这两个目前来说还是得看情况用
|
54
o0 2021-01-24 15:20:29 +08:00 3
就是要让你们后端做不了,我们才能涨工资。
|
55
elintwenty 2021-01-24 16:24:50 +08:00
不考虑维护旧项目等需要老旧技术的场景,也不考虑不需要前端工程化、或者小作品 jq 也够用了,我只能说现在已经 2021 年了
|
56
xiaobai012 2021-01-24 16:56:07 +08:00
稍微翻一下网站代码,你会发现 jQuery 依然在被大规模使用,而且很多还是老版本
|
57
mayandev 2021-01-24 17:11:01 +08:00
有人统计过,目前 80% 的网站依然在使用 jquery
|
59
lane1 2021-01-24 19:43:41 +08:00
个人觉得 jQuery 是不会过时的啦!那些优美且实用的 API 背后是 web 、甚至是 UI 编程的核心思想。套用 Python 社区爱用的话:DOM for Humans.
|
60
adekyou06 2021-01-24 20:38:07 +08:00
hotwire 了解一下
|
62
ayase252 2021-01-24 20:55:46 +08:00 via iPhone
没有必要,旧有 JQ 代码完全可以用 DOM API 100%替代。
|
63
no1xsyzy 2021-01-24 21:36:11 +08:00
jquery 没有结束,它只是以另一种方式( DOM API )活着
(半开玩笑半认真) |
64
no1xsyzy 2021-01-24 21:44:41 +08:00
|
65
kankekan 2021-01-24 21:59:40 +08:00
还没结束,一直在用着呢。
|
66
est 2021-01-24 22:02:22 +08:00 via Android
面向 IE 编程的时代不需要 jq,面向 chrome 的时代也不需要
|
67
jones2000 2021-01-25 00:07:03 +08:00 2
jq 挺好的, 不需要编译, 直接在服务器上改了,就可以了。 什么打包,发布太麻烦了。在说了就算用 vue 或 RN 框架写的,水平烂的,代码还是一样烂, 基本只能自己看懂逻辑,别人根本看不懂。review code 太费劲。前端框架什么的不重要,重要的是开发的人。
|
68
sunorg 2021-01-25 03:38:25 +08:00 via Android
@jones2000 能快速出成绩就行,我们新项目照样 jq 为主,部分页面 arv,根本原因在于:
1.无需过多考虑的 seo 2.便捷的操作,就是一个画布,随你喜欢。 3.无需编译带来的系统扩展性 4.依然顽强的生态 ps: arv 我们也用,他编译的特性同时也带来问题: 编译,导致第三方除非有源码,否则无法轻松为页面写第三方插件。 这对自部署型产品是致命的一个缺点 |
69
sunorg 2021-01-25 03:43:59 +08:00 via Android
|
71
iyangyuan 2021-01-25 08:27:18 +08:00
我觉得 jq 并没有消失,他的灵魂已经被传承了,比如 document.querySelector
|
73
RickyC 2021-01-25 09:14:34 +08:00
是. 但是 jQuery 并没有结束.
Vue 的 dom 操作明显没有 jQuery 方便 |
74
wangyzj 2021-01-25 09:32:43 +08:00 1
前端圈乱的一比
|
75
yys320carter 2021-01-25 09:43:08 +08:00
得益于原生 JS 都已经吸纳了 Jquery 的优点
|
77
zorui 2021-01-25 09:50:11 +08:00
2021 年?
|
78
zhchyu999 2021-01-25 09:52:45 +08:00
这帮前端折腾出来了护城河
|
80
DOLLOR 2021-01-25 09:59:26 +08:00
想要更好的开发体验就用 ARV,想接近底层的 DOM 操作,就用 vanilla 。
为啥还要引入一个不上不下的 jquery 作为累赘呢? |
81
GoNtte 2021-01-25 10:10:33 +08:00
jquery 还是无处不在
|
82
zgw0 2021-01-25 10:32:33 +08:00
新项目应该没人用了吧,我四年前学习 js 的时候 jquery 就已经没人用了,因为 jquery 能做到的原生 js 基本都可以
|
83
JoStar 2021-01-25 10:50:05 +08:00 1
让 jq 被淘汰的不是新框架,而是前端的业务愈发复杂了,jq 承载不起了。
你要写一个十年前的网页,jq 肯定是比 vue,react + webpack 好多了。当时现在前端网页的需求早已不同往日了,还要追求渲染速度、下载尺寸、首页渲染时间、兼容 JS 新语法... 所以楼里出现两种声音,有的觉得 jq 老当益壮,有的觉得 jq 已经老当益壮,在于是他俩的场景根本不一样。 |
84
JoStar 2021-01-25 10:51:55 +08:00
@JoStar #83 打错字了
> 所以楼里出现两种声音,有的觉得 jq 老当益壮,有的觉得 jq 已经老当益壮,在于是他俩的场景根本不一样。 所以楼里出现两种声音,有的觉得 jq 老当益壮,有的觉得 jq 已经老态龙钟,在于是他俩的场景根本不一样。 |
85
jiangshanmeta 2021-01-25 11:42:53 +08:00
大哥 东罗马已经亡了
|
86
takemeaway 2021-01-25 11:49:41 +08:00
前端为了 10%的性能,做了 90%的改变。
感觉写代码的以后也会成为流水线工人了。 |
87
lau52y 2021-01-25 12:24:51 +08:00 via iPhone
😄后端 java 觉得 vue 和 jquery 没啥区别
|
89
dvaknheo 2021-01-25 12:40:43 +08:00
@JoStar 写个给多人用的后台系统,竟然也要服务端渲染我就无语了。 本来后端写数据,前端写模板后面就无脑套了
除非遇到那些地图,头像之类复杂的后端不能处理的。 而且编辑小妹碰到问题丢个 url 过来就行 现在还要加个前端扯皮 |
91
godblessumilk 2021-01-25 16:38:52 +08:00 via Android
@dvaknheo 浏览器的 js 是解释型语言,就算服务端的 node 也是解释型的,不需要编译。。。
|
92
clf 2021-01-25 16:47:33 +08:00
jquery 最初的目的是兼容性框架和简化原生语句,由于在 safari opera ie 等浏览器的语法差异,使用原生 js 开发需要考虑很多,而 jquery 帮你解决了兼容性的问题。
|
93
Elmer 2021-01-25 16:53:10 +08:00
|
94
jones2000 2021-01-25 17:05:43 +08:00
@Mithril 个人 demo 页面, 直接 js 写就行了。 也就 8W 行代码左右吧, 服务器直接改,好了 CND 同步下,方便。
https://opensource2.zealink.com/hqweb/demo/phone7.html |
95
libook 2021-01-25 18:16:44 +08:00 2
以前的 Web API 用起来不方便,比如仅能使用几种简单的 Dom 选择器选择 Dom,各种常见的操作 Dom 的算法、常用的交互动效以及监听事件需要重复性地写很多代码,还有 XHR 用起来很反人类。虽然可以自己封装函数,但是这些在前端开发者群体里是存在共性需求的,所以把这些函数汇总起来,并使用简单的框架思维进行封装——于是 jQuery 就这么出来了。
从 HTML5/CSS3 等新版本技术开始,到 ES6 以及后续 ES 的疯狂更新,jQuery 所曾致力于解决的问题,要么被原生 JS 、CSS 、HTML 的新特性以及 Web API 的新特性解决了(没有的话可能在 draft/proposal 阶段,或者可以用其他更好的方案),要么前端工程需求上发生了变革转而出现了满足新需求的框架。当前可以说,jQuery 的使命基本已经结束了。 以前我 jQuery 用的最多的是选择器和 Ajax 请求,后来 DOM 加入了 querySelector(All)可以取代选择器,fetch API 或者 Axios 库都可以用来很方便地发 Ajax 请求,CSS3 的动效也更强大和方便。jQuery 对我来说就完全没必要用了。 现在做项目在原型阶段如果交互不复杂的话都是原生 JS 和 Web API 手撸,复杂的话就是直接用 Vue 之类的框架。建议在对最新的 Web API 充分了解的情况下尝试用原生 Web API 写一些页面感受一下。 Vue 保留了像 Angualr1 等第一代前端框架那样的,直接在 HTML 中引入并直接使用的方式,具体可以查阅文档中 From CDN or without a Bundler 的部分,后续有压缩、混淆、合并、兼容性( babel )等需求可以再考虑引入 Webpack 。 当然,仍然有大量的网站不打算重构或者需要兼容无比陈旧的浏览器而依然在使用 jQuery,就像仍然有军事系统在用软盘、仍然有政府系统在用 WinXP 。但使用量并不代表趋势,想了解趋势可以去看看各个前端岗位的招聘要求。 对于初学者来说,建议把原生的 JS 、CSS 、HTML 以及 Dom 、Bom 等 API 掌握扎实,然后学习 Vue 、React 、Angualr 等框架。如果真的遇到特殊需求需要用 jQuery 的,看看文档很快也能上手。 |
96
libook 2021-01-25 18:28:42 +08:00
楼主可以再了解一下 WebAssembly 、WebComponent 、WebWorkers 、WebGPU 、WebSocket,以及现在已经有商业项目在使用的前端 Micro Service,你会发现现在的前端技术和 10 年前的技术比起来有很大的变革。
|
97
enchilada2020 2021-01-26 04:34:01 +08:00 via Android
@libook 您说的真棒 受教了 菜鸟表示 Web API 好多好乱好杂 MDN 文档看来看去也弄不清 不像 JS 有分级明确的 guide tutorial 和 reference 不知道该怎么捋清头绪 求教如何把这块弄透
|
98
yinzhili 2021-01-26 10:03:20 +08:00
还活得好好的
|
99
RockShake 2021-01-26 10:18:53 +08:00
有一些东西还是免不了用的,一些工业软件自带的 web 开发功能,只能用这些库
|
100
libook 2021-01-26 10:43:02 +08:00 1
@enchilada2020 https://developer.mozilla.org/zh-CN/docs/Web/Reference/API
这个链接里,把 Web API 分成了几大类,你可以分别点进去看,进入每个具体的 API 后注意看左侧的索引,会有属性、方法的列表,把内容浏览一遍了解一下大体有啥功能就行,一般人都记不住所有的东西,在你用的时候能想起来大概有个功能可以满足需求,然后再来翻文档就好,很多东西用的多了自然就记住了。 前端很多知识就是很分散,每个特性基本上相对独立,绝大多数都只能靠积累。 |