jQuery真的过期了!

前言

前几天知乎上有一个问题:jQuery真的过期了吗?个人答案是:jQuery确实过期了!感受这个话题挺有趣,那我们展开了聊聊。详细地说一下jQuery为何过期了。css

1、jQuery解决了哪些痛点

讨论一个库或者框架是否过期,应该先看看它解决了哪些问题,这些问题如今是否有更好的解决方案。前端

jQuery解决了哪些问题呢?webpack

浏览器兼容问题ios

IE678横行的年代,浏览器兼容问题是前端小伙伴们必须掌握的技能,IE6有哪些bug,这得滚瓜烂熟。IE不识别哪些标准的JavaScript方法和对象,这也得记住,写个ajax,别人都用XMLHttpRequest,到IE就得用ActiveXObject。苦逼的前端程序员不能专心研究技术,只能每天为浏览器厂商擦屁股。直到jQuery的出现,你们解脱了,DOM操做也好,事件绑定也好,ajax也好,jQuery为咱们封装了兼容各个浏览器的方法,感受整个世界都和平了。css3

选择器程序员

没有jQuery,咱们要用getElementById、getElementsByTagName这些方法获取DOM对象。为列表全部元素绑定事件,要么事件委托,要么遍历全部元素。为了搞定操蛋的DOM接口,咱们掌握了各类奇淫技巧,其实毛用没有。有了jQuery,咱们能够用css选择器获取元素,绑定事件也不在须要遍历元素列表了,整我的都清爽了。web

动画效果ajax

我清晰地记得第一次用计时器写动画,如何让一个元素动起来,再如何让它中止运动。调试完,无bug,这就用了一堆代码了,更不用说作一个完整的页面效果,想一想就让人崩溃。在看看jQuery为咱们提供的动画效果,简直不敢想象没有jQuery,咱们如何在IE678里面实现咱们想要的效果。axios

总结浏览器

jQuery解决的痛点还远不止这些:它的DOM操做,样式操做,属性操做,事件绑定,还有遍历,表单序列化,ajax封装,这些功能给前端开发带入了一个崭新的世界。一直到今天,jQuery仍然是被前端开发者使用最多的库,没有之一!

2、替代jQuery的解决方案

jQuery给前端带来的影响是空前的,可是随着前端的发展,jQuery也进入了一个过期的状态,它为咱们解决的痛点都已经有了替代方案。

浏览器兼容

浏览器的兼容问题愈来愈不是问题,IE6能够说已经被淘汰了(目前只有大型国企、事业单位、机关部门还有医院中的XP系统还保留着IE6,可是也开始逐步淘汰中)。天猫去年已经宣布再也不支持IE8。虽然浏览器兼容问题仍然存在,可是已经不是当年那个坑翻天的时代了。

选择器

CSS3新增了大量选择器,操做样式,想怎么找就怎么找,没必要麻烦jQuery。

原生的JavaScript也新增了querySelector和querySelectorAll方法,能够直接经过css选择器获取元素。

动画效果

css3提供了丰富的过渡和动画效果,让咱们再也不依赖jQuery。

ajax

fetch和axios这些第三方模块已经将ajax封装得至关出色了,咱们不再用为了一个$.ajax就引入jQuery。

DOM操做和事件绑定

抛开动画的问题,剩下主要就是数据的增删改,这种操做用jQuery,无论从性能的角度,仍是易于开发和维护的角度来看,mvvm框架都要超jQuery不少。

组件化和模块化

组件化和模块化的开发是如今前端开发的主流,优势简单的说就是易于开发、易于维护、易于团队分工。

jQuery是能够组件化开发的,可是用jQuery写组件,就用两个字形容:蛋疼,谁用谁知道。

模块化不论是用ES2015也好(import,export),用webpack也好(require,module.exports),再不行,我们复古有点用require.js或者sea.js,这显然和jQuery都没什么关系

综上所述

jQuery全部的优势都有更优秀的解决方案,能够确定的说,jQuery已通过时了!

(若是贵公司要求兼容IE678,那就另当别论了。)

3、jQuery并无被淘汰

jQuery虽然已通过时了,可是并无被淘汰,并且近几年也不会。

如今市面上的大部分网站和应用仍是基于jQuery,在此后的几年,他们仍然须要用jQuery维护。
不少公司没有专职的前端开发,他们的前端工做由后台负责,这些人更喜欢用jQuery加后台模板的工做模式。
部分两三年以上工做经验的前端开发,他们安于现状,排斥css3新特性,也没耐心学习mvvm框架,jQuery还是他们的主要工具。
IE678并无消失,因此jQuery仍有用武之地。
jQuery易于上手,仍然很适合作一些简单的网站。

综上所述,jQuery并无被淘汰,仍然是新人必须技能之一。

4、总结

jQuery虽然过期了,可是jQuery仍然是前端开发的必备技能,对于一个前端新人,这个坑必定得踩。

5、尾声

若是您以为有收获,请不要吝惜一个小小的【赞】,若是喜欢相似的文章,能够关注微信公众号:【晓舟报告】,第一时间获取文章。

相关文章
相关标签/搜索