jquery 时代已经结束了吗?

2021-01-23 18:05:06 +08:00
 fxjson

作为多年的后端,也曾写过 js,再看 js,突然发现已经不是当年的前端

15113 次点击
所在节点    JavaScript
103 条回复
GoNtte
2021-01-25 10:10:33 +08:00
jquery 还是无处不在
zgw0
2021-01-25 10:32:33 +08:00
新项目应该没人用了吧,我四年前学习 js 的时候 jquery 就已经没人用了,因为 jquery 能做到的原生 js 基本都可以
JoStar
2021-01-25 10:50:05 +08:00
让 jq 被淘汰的不是新框架,而是前端的业务愈发复杂了,jq 承载不起了。

你要写一个十年前的网页,jq 肯定是比 vue,react + webpack 好多了。当时现在前端网页的需求早已不同往日了,还要追求渲染速度、下载尺寸、首页渲染时间、兼容 JS 新语法...

所以楼里出现两种声音,有的觉得 jq 老当益壮,有的觉得 jq 已经老当益壮,在于是他俩的场景根本不一样。
JoStar
2021-01-25 10:51:55 +08:00
@JoStar #83 打错字了
> 所以楼里出现两种声音,有的觉得 jq 老当益壮,有的觉得 jq 已经老当益壮,在于是他俩的场景根本不一样。

所以楼里出现两种声音,有的觉得 jq 老当益壮,有的觉得 jq 已经老态龙钟,在于是他俩的场景根本不一样。
jiangshanmeta
2021-01-25 11:42:53 +08:00
大哥 东罗马已经亡了
takemeaway
2021-01-25 11:49:41 +08:00
前端为了 10%的性能,做了 90%的改变。
感觉写代码的以后也会成为流水线工人了。
lau52y
2021-01-25 12:24:51 +08:00
😄后端 java 觉得 vue 和 jquery 没啥区别
RickyC
2021-01-25 12:31:26 +08:00
@wangyzj 也许这种乱暗藏生机.
dvaknheo
2021-01-25 12:40:43 +08:00
@JoStar 写个给多人用的后台系统,竟然也要服务端渲染我就无语了。 本来后端写数据,前端写模板后面就无脑套了
除非遇到那些地图,头像之类复杂的后端不能处理的。
而且编辑小妹碰到问题丢个 url 过来就行
现在还要加个前端扯皮
zoharSoul
2021-01-25 16:12:56 +08:00
@dvaknheo
现在还要加个前端扯皮?

前后端分离没前端怎么分离? 你的意思是不分离, 还是用服务端渲染那套么?
godblessumilk
2021-01-25 16:38:52 +08:00
@dvaknheo 浏览器的 js 是解释型语言,就算服务端的 node 也是解释型的,不需要编译。。。
clf
2021-01-25 16:47:33 +08:00
jquery 最初的目的是兼容性框架和简化原生语句,由于在 safari opera ie 等浏览器的语法差异,使用原生 js 开发需要考虑很多,而 jquery 帮你解决了兼容性的问题。
Elmer
2021-01-25 16:53:10 +08:00
jones2000
2021-01-25 17:05:43 +08:00
@Mithril 个人 demo 页面, 直接 js 写就行了。 也就 8W 行代码左右吧, 服务器直接改,好了 CND 同步下,方便。
https://opensource2.zealink.com/hqweb/demo/phone7.html
libook
2021-01-25 18:16:44 +08:00
以前的 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 的,看看文档很快也能上手。
libook
2021-01-25 18:28:42 +08:00
楼主可以再了解一下 WebAssembly 、WebComponent 、WebWorkers 、WebGPU 、WebSocket,以及现在已经有商业项目在使用的前端 Micro Service,你会发现现在的前端技术和 10 年前的技术比起来有很大的变革。
enchilada2020
2021-01-26 04:34:01 +08:00
@libook 您说的真棒 受教了 菜鸟表示 Web API 好多好乱好杂 MDN 文档看来看去也弄不清 不像 JS 有分级明确的 guide tutorial 和 reference 不知道该怎么捋清头绪 求教如何把这块弄透
yinzhili
2021-01-26 10:03:20 +08:00
还活得好好的
RockShake
2021-01-26 10:18:53 +08:00
有一些东西还是免不了用的,一些工业软件自带的 web 开发功能,只能用这些库
libook
2021-01-26 10:43:02 +08:00
@enchilada2020 https://developer.mozilla.org/zh-CN/docs/Web/Reference/API
这个链接里,把 Web API 分成了几大类,你可以分别点进去看,进入每个具体的 API 后注意看左侧的索引,会有属性、方法的列表,把内容浏览一遍了解一下大体有啥功能就行,一般人都记不住所有的东西,在你用的时候能想起来大概有个功能可以满足需求,然后再来翻文档就好,很多东西用的多了自然就记住了。

前端很多知识就是很分散,每个特性基本上相对独立,绝大多数都只能靠积累。

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

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

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

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

© 2021 V2EX