前端的同学会发现,除了一些老项目外,现在基本没有新的前端项目使用JQuery了。因此,我们不得不接受一个现实,那就是曾经风光无限的JQuery,即将要被历史淘汰了。
JQuery
为什么那么受人们欢迎的JQuery就要面临被淘汰的命运呢?今天我们就来全面分析一下背后的原因。
一、JQuery的优势
首先,我们来分析一下JQuery的优点,了解一下他在当时为什么会受欢迎。
1.强大的DOM操作
JQuery提供了非常完善的DOM操作API,DOM节点的增、删、改、查,节点的样式更新,还是事件的交互处理 ,使用起来都非常方便。另外,提供了各种节点选择器,可以进行节点的批量操作,非常高效。
2.JQuery AJAX
AJAX的出现,对前端来说绝对是个革命性的变化,使得浏览器可以跟服务端异步请求,实现页面的局部刷新。JQuery提供的AJAX接口,使用起来极其简单、方便。在使用简单的基础上,还提供了各种配置、回调函数等,又保证了其功能的强大性,无论是POST、GET、同步、异步,还是文件上传,能满足各种场景。
3.领先时代的动画
JQuery的动画特效,能让页面做出非常酷炫的效果,使得页面效果更加生动活泼,这在当时是非常领先的。
4.丰富的插件
JQuery还支持插件的扩展,在标准的JQuery上,添加自己的插件功能。这就让当时的互联网上,出现了很多好用的JQuery插件,直接通过拿来主义就能使用。
从以上分析看,JQuery在当时,甚至是现在来说,都是非常优秀的。因此,JQuery的淘汰,不是因为你不够优秀,而是因为时代不再需要你了,是不是有点像当年柯达胶卷被时代抛弃的悲情。
二、为什么会被淘汰
接下来,我们来具体分析被淘汰的原因,总体来说,新技术的更新换代,JQuery在新一代技术的降维打击之下,不得不面临被淘汰。
1.优势被超越
首先,JQuery的DOM操作优势,现在的新技术换了一个不同的赛道跟JQuery竞争,现在都是通过模板语法、数据绑定、虚拟DOM等技术,进行页面UI的更新,更加方便、高效,也就是说,我们不再需要手动进行DOM操作了。
其次,对于JQuery AJAX,目前已经要被axios等取代,axios不仅同样强大、好用,而且支持请求、响应拦截的处理,这是JQuery不具备的。
另外,JQuery的动画特效,在CSS3出现后,完全不占优势,CSS3更是支持硬件加速,性能体验更优,这在移动互联网上非常重要。
最后,说说JQuery插件,相对于各种插件的大杂烩,可能会面临各种兼容问题,现在前端则是整套完整、风格统一的组件库,如:ElementUI、有赞UI、京东UI等等,一个库能提供你所有常用的组件。
2.新的技术趋势
JQuery充其量只是一个组件库,只能满足前端开发某一方面、或某几方面的需要。
现在前端项目的复杂度,要求我们有一整套完整的解决方案,包括模板绑定、路由、状态、监听、过滤等等。在模块化、组件化、MVVM等编程思想下,出现了一大批架构级的优秀前端框架,如:vue、react、angular等,它们具备以上所说的全部能力。
另外,如此复杂的前端架构,又必须要有前端的工程化管理,这些框架能很好地配合nodejs、webpack等,实现架构搭建、开发、测试、发布(压缩、混淆、打包编译等),等全过程的自动化、工程化管理。
因此,在这些新技术趋势下,JQuery的生存空间已经很小了。
三、致敬JQuery
时代在进步,是时候跟JQuery说再见了,但无论如何,我们都需要对JQuery致以崇高的敬意,陪伴一代前端程序员走过青春。
致敬JQuery
当然,现在JQuery依然还在,希望3.6.0不是它的最后一个版本。
不知道大家对JQuery的看法如何呢,欢迎大家交流。